Skip to Content
0
Former Member
Nov 05, 2012 at 06:27 PM

Modify Soap header/envelope values

692 Views

Hi

We have a SOA based synchronous scenario from ECC to PI 7.11 to WSDL service. We are having issues trying to push data from ECC to WSDL service. Whenever we push data from ECC via PI, the receiver PI SOAP channel has the following error

XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Must Understand check failed for header http://sap.com/xi/XI/Message/30 : ReliableMessaging

When we test the WSDL using SOAP UI as well, we get the same error. But in SOAP UI, when we modify mustUnderstand="0" instead of 1, the scenario works. Our company believes everything with PI is working good but the third party is not willing to make modifications to their WSDL to make the scenario work.

So we are planning to make the modifications in SAP PI itself. Can any one please let me know how to modify mustUnderstand to 0 instead of 1 in the following

<SAP:Main versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30"

xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<SAP:MessageClass>ApplicationMessage</SAP:MessageClass>

<SAP:ProcessingMode>synchronous</SAP:ProcessingMode>

<SAP:MessageId>99E7B830-FD99-11E1-99F1-E41F1350922B</SAP:MessageId>

<SAP:TimeSent>2012-09-13T11:53:15Z</SAP:TimeSent>

<SAP:Sender>

<SAP:Service>BS_Sender</SAP:Service>

</SAP:Sender>

<SAP:Interface namespace="http://somecompany.com">ServiceInterface</SAP:Interface>

</SAP:Main>

<SAP:ReliableMessaging SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30">

<SAP:QualityOfService>BestEffort</SAP:QualityOfService>

</SAP:ReliableMessaging>

<SAP:System SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30">

<SAP:Record namespace="http://www.sap.com/webas/712/soap/features/runtime/metering/" name="CallingType">SA</SAP:Record>

</SAP:System>

<SAP:HopList SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30">

<SAP:Hop timeStamp="2012-09-13T11:53:15Z" wasRead="false">

<SAP:Engine type="AE">af.xid.PIsystem002</SAP:Engine>

<SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter>

<SAP:MessageId>99E7B830-FD99-11E1-99F1-E41F1350922B</SAP:MessageId>

<SAP:Info/>

</SAP:Hop>

<SAP:Hop timeStamp="2012-09-13T11:53:15Z" wasRead="false">

<SAP:Engine type="IS">is.50.SAPPI</SAP:Engine>

<SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>

<SAP:MessageId>99E7B830-FD99-11E1-99F1-E41F1350922B</SAP:MessageId>

<SAP:Info>3.0</SAP:Info>

</SAP:Hop>

</SAP:HopList>

<SAP:Diagnostic SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30">

<SAP:TraceLevel>Information</SAP:TraceLevel>

<SAP:Logging>On</SAP:Logging>

</SAP:Diagnostic>

Any pointers in much appreciated

Thanks

Guru