cancel
Showing results for 
Search instead for 
Did you mean: 

Message Routing Issue in HCI

Former Member
0 Kudos

I am facing issue in response handling from ByD.

steps : Incoming IDoc ->Mapping -> Request-Response -> Message routing (Router) -> Content Modifier -> write -> etc...

Router : success branch (default); Error Branch (based on condition)

Condition: /n0:MaterialBundleMaintainConfirmation_sync_V1/Log/MaximumLogItemSeverityCode=3

Response from ByD:

<n0:MaterialBundleMaintainConfirmation_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prx="urn:sap.com:proxy:LDK:/1SAI/TAEFC78A8519B7531E7D098:804">

<Log>

<MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode>

<Item> <TypeID>000(/PDM_ROOT/)</TypeID> <CategoryCode>INC.BOI</CategoryCode>

<SeverityCode>3</SeverityCode>

<Note>Material ID P100709 already exists</Note>

</Item>

</Log>

</n0:MaterialBundleMaintainConfirmation_sync_V1>

Error in HCI :

org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath: /n0:MaterialBundleMaintainConfirmation_sync_V1/Log/MaximumLogItemSeverityCode=3. Reason: javax.xml.xpath.XPathExpressionException: net.sf.saxon.trans.XPathException: Prefix n0 has not been declared, cause: net.sf.saxon.trans.XPathException: Prefix n0 has not been declared

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Vijay,

Please check if you have defined the namespace mapping in the runtime configuration of your integration flow? Looks like the prefix n0 has not been defined?

Regards,

Gayathri

Answers (3)

Answers (3)

Former Member
0 Kudos

The namespace mapping was wrong. maintained correct one and its working fine.

Former Member
0 Kudos

Response from ByD: (added *** )

****<n0:MaterialBundleMaintainConfirmation_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prx="urn:sap.com:proxy:LDK:/1SAI/TAEFC78A8519B7531E7D098:804"> <Log> <MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode> <Item> <TypeID>000(/PDM_ROOT/)</TypeID> <CategoryCode>INC.BOI</CategoryCode> <SeverityCode>3</SeverityCode> <Note>Material ID P100709 already exists</Note> </Item> </Log> </n0:MaterialBundleMaintainConfirmation_sync_V1>******

Former Member
0 Kudos

Thanks Gayathri.

Now I am not getting the error, But XML condition is not working.I dont know whether prefix mapping and condition is correct or not.

name space mapping : xmlns:n0=n0:MaterialBundleMaintainConfirmation_sync_V1 xmlns:n0=http://sap.com/xi/SAPGlobal20/Global

Condition (XML):/n0:MaterialBundleMaintainConfirmation_sync_V1/Log/MaximumLogItemSeverityCode=3

Response from ByD:

<n0:MaterialBundleMaintainConfirmation_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prx="urn:sap.com:proxy:LDK:/1SAI/TAEFC78A8519B7531E7D098:804"> <Log> <MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode> <Item> <TypeID>000(/PDM_ROOT/)</TypeID> <CategoryCode>INC.BOI</CategoryCode> <SeverityCode>3</SeverityCode> <Note>Material ID P100709 already exists</Note> </Item> </Log> </n0:MaterialBundleMaintainConfirmation_sync_V1>