Inbound SAP Adapter Replaces '_-' (underscore, dash) with Forward Slashes, Resulting in Erroneous XML Tag/Element Names (Doc ID 2190831.1)

Last updated on MAY 04, 2017

Applies to:

Oracle Service Bus - Version 12.2.1.0.0 and later
Oracle SOA Suite - Version 12.2.1.0.0 and later
Information in this document applies to any platform.

Symptoms

When using the SAP adapter to read in an SAP IDoc, with segment names that contain a '_-' (i.e. underscore, dash) the following error is logged due to the fact that the underscore and dash are replaced with a forward slash.

The following is an example of the substitution that is observed in the incoming SAP segments:

<_-CWM_-TOLGR>

is replaced with:

</CWM/TOLGR>

which results in an error indicating a missing end tag:

org.xml.sax.SAXParseException; lineNumber: 135; columnNumber: 3; The element type "E1MARAM" must be terminated by the matching end-tag "</E1MARAM>".

In addition to the above error, the following is also observed, just prior to the adapter displaying the "Input XML string":

Exception while Adapter Stop watch intialization [[
java.lang.NullPointerException

at java.util.AbstractMap.toString(AbstractMap.java:547)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at oracle.tip.adapter.sap.inbound.SAPFunctionHandler.handleRequest(SAPFunctionHandler.java:189)
at com.sap.conn.jco.rt.DefaultServerWorker$FunctionDispatcher.handleRequest(DefaultServerWorker.java:1041)
at com.sap.conn.jco.rt.DefaultServerWorker$FunctionDispatcher.handleRequest(DefaultServerWorker.java:977)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:148)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3685)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:3163)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2986)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2880)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2679)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:275)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:356)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:232)
at java.lang.Thread.run(Thread.java:745)

]]

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms