cancel
Showing results for 
Search instead for 
Did you mean: 

Access to the header field of PI-Message in adapter

Former Member
0 Kudos

Hi guy,

anyone did manage to read soap header data containing header field like <SAP:Interface namespace="urn:skyvva:ais:Account">SI_AccountUpdate_IN</SAP:Interface> in the soap header?

We need to access to those field in a custom adapter. Would be great if someone can show

the way how to do it.

We can read the payload of a pi message but we still not know how to read the header data.

Here is how we can see the header data showing in the audit monitoring of the communication

channel monitoring.

- <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

- <SOAP:Header xmlns:versionMajor="003" xmlns:versionMinor="000" xmlns:mustUnderstand="1" xmlns: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:Main versionMajor="3" versionMinor="0" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">

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

<SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>

<SAP:MessageId>d79f49ee-478c-453f-3f81-d3ecd0eed0ed</SAP:MessageId>

<SAP:TimeSent>2014-10-08T09:36:04Z</SAP:TimeSent>

- <SAP:Sender>

<SAP:Party agency="" scheme="" />

<SAP:Service>BS_A_SND</SAP:Service>

</SAP:Sender>

- <SAP:Receiver>

<SAP:Party agency="" scheme="" />

<SAP:Service>BC_Salesforce</SAP:Service>

</SAP:Receiver>

<SAP:Interface namespace="urn:skyvva:ais:Account">SI_AccountUpdate_IN</SAP:Interface>

</SAP:Main>

- <SAP:ReliableMessaging SOAP:mustUnderstand="1">

<SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>

</SAP:ReliableMessaging>

- <SAP:HopList SOAP:mustUnderstand="1">

- <SAP:Hop timeStamp="2014-10-08T09:36:04Z" wasRead="false">

<SAP:Engine type="AE">af.p1a.sapp1a</SAP:Engine>

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

<SAP:MessageId>d79f49ee-478c-453f-3f81-d3ecd0eed0ed</SAP:MessageId>

<SAP:Info />

</SAP:Hop>

- <SAP:Hop timeStamp="2014-10-08T09:36:05Z" wasRead="false">

<SAP:Engine type="IS">is.01.sapp1a</SAP:Engine>

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

<SAP:MessageId>d79f49ee-478c-453f-3f81-d3ecd0eed0ed</SAP:MessageId>

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

</SAP:Hop>

- <SAP:Hop timeStamp="2014-10-08T09:36:06Z" wasRead="false">

<SAP:Engine type="AE">af.p1a.sapp1a</SAP:Engine>

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

<SAP:MessageId>d79f49ee-478c-453f-3f81-d3ecd0eed0ed</SAP:MessageId>

</SAP:Hop>

</SAP:HopList>

- <SAP:DynamicConfiguration SOAP:mustUnderstand="1">

<SAP:Record namespace="http://sap.com/xi/XI/Message/30/general" name="senderAgreementGUID">1a2ed1044fe63d17afa517d29602e82f</SAP:Record>

</SAP:DynamicConfiguration>

- <SAP:Diagnostic SOAP:mustUnderstand="1">

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

<SAP:Logging>Off</SAP:Logging>

</SAP:Diagnostic>

</SOAP:Header>

- <SOAP:Body>

- <sap:Manifest xmlns:sap="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7">

- <sap:Payload xlink:type="simple" xlink:href="cid:payload-85fd54b54ece11e48bfa000000ac0936@sap.com">

<sap:Name>MainDocument</sap:Name>

<sap:Description />

<sap:Type>Application</sap:Type>

</sap:Payload>

</sap:Manifest>

</SOAP:Body>

</SOAP:Envelope>

Thanks,

Ly-Na

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

There are some ways. Check these blogs:

Regards.

Former Member
0 Kudos

Hi Vila,

we need to read in java code in the adapter. It is not a standard sap adapter but a custom adapter you develop yourself. We manage now to read the data. The problem is that the document was too poor for the adapter development.

Thanks,

Ly-Na

Answers (0)