We deployed a custom developed XPath function to SOA Suite 11g. However, when executing the composite that uses the XPath function, we received the following error:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">Solution:
<env:Header/>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>XPath expression failed to execute.
An error occurs while processing the XPath expression; the expression is ora:processXSLT('xsl/transform2.xsl',bpws:getVariableData('inputVariable','payload')).
The XPath expression failed to execute; the reason was: javax.xml.transform.TransformerException: <Line 4, Column 80>: XML-22045: (Error) Extension function error: Class not found '
Missing class: customFunctions.utilDateTime.getFullDateTime
Dependent class: oracle.xml.xpath.XSLExtFunctions
Loader: sun.misc.Launcher$AppClassLoader@1523237480
Code-Source: /u01/app/oracle/middleware/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar
Configuration: /u01/app/oracle/middleware/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar
This load was initiated at default.composite.AhmedDomainID.soa_14c55a6c-c0b4-408b-80d3-8279a546dae1:1.0 using the loadClass() method.
'.
Check the detailed root cause described in the exception message text and verify that the XPath query is correct.</faultstring>
<faultactor/>
<detail>
<exception/>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
The following file is updated when configuring your custom XPath:
$ORACLE_HOME/soa/modules/oracle.soa.ext_11.1.1/classes/META-INF/ext-soa-xpath-functions-config.xmlThis XPath function was migrated from 10g to 11g, but we recreated the Java classes. Thus, our namespace prefix was no longer the same.
Our original namespace prefix:
xmlns:utl="http://www.oracle.com/XSL/Transform/java/customFunctions.utilDateTime.getFullDateTime"The updated, and working, prefix (conforming better to Oracle's standard):
xmlns:utl="http://www.oracle.com/XSL/Transform/java/com.collaxa.cube.xml.xpath.dom.functions.getDateTimeWithMilliseconds"After this modification, we bounced, re-ran, and all worked fine.
Applicable Versions:
- Oracle SOA Suite 11g (11.1.1.x)
No comments:
Post a Comment