Monday, February 24, 2014

ORAMED-01201 after upgrading to Oracle SOA Suite 11g PS6

Problem:

We received this XSL/DVM error when we upgraded to Oracle SOA Suite 11g PS6 (11.1.1.7):
ORAMED-01201:[Error in transform operation]Error occurred while transforming payload using "xsl/QueryCustomer_To_CustomerTransaction.xsl" for target part "payload".Possible Fix:Review the XSL or source payload. Either the XSL defined does not match with the payload or payload is invalid. Cause:XML-22044: (Error) Extension function error: Error invoking 'lookupValue':'oracle.tip.dvm.exception.DVMValidationException: The DVM Document is invalid Please fix the DVM Document and ensure the document confirms to the xsd'

Analysis:

It turns out that a developer did a global search-and-replace, changing "http" to "https" in order to update multiple URLs in a DVM. He did not realize that this also changed the protocol in the namespace URL, which was obviously an error on his part.

However, this ORAMED-01201 error never showed up with previous versions of Oracle SOA Suite 11g, and only started up after we upgraded to 11.1.1.7. So it seems that previous versions of Oracle SOA Suite 11g were tolerant of namespace errors, but not the latest PS6 patchset. This is a good thing actually.

The namespace was accidentally changed to "https". This worked in 11.1.1.4 but not 11.1.1.7:
<?xml version='1.0'?><dvm name="Customer" xmlns="https://xmlns.oracle.com/...
Finally corrected it after upgrading to 11.1.1.7:
<?xml version='1.0'?><dvm name="Customer" xmlns="http://xmlns.oracle.com/...

Resolution:

1. Double-check your namespace in the DVM.


Applicable Versions:
  • Oracle SOA Suite 11g (11.1.1.7)


No comments: