Skip to Content
avatar image
Former Member

Reading custom SOAP header with XHeaderName1

Hello Experts,

I have a SOAP to File scenario and I am trying to do dynamic receiver determination by looking at the SOAP request header info. I am adding a custom field (System_ID) that I want rules to run against in Receiver Determination..

http://schemas.xmlsoap.org/soap/envelope/"

xmlns:urn="urn:*******************">

<soapenv:Header>

<System_ID>100</System_ID>

</soapenv:Header>

<soapenv:Body>

</soapenv:Body>

</soapenv:Envelope>

In the Receiver Determination I have multiple rules using SOAP context object to XHeaderName1 = the System_ID (100) to pass the message to the right system at runtime according to the System_ID.

In the SOAP sender channel I have Set Adapter-Specific Message Attributes and Variable Transport Binding checked. I also have the variable name System_ID in the first Variable Header (XHeaderName1).

In the SOAP sender Conversion Parameters I have Do Not Use SOAP Envelope and Keep Headers checked, as well as nosoap=true in the SOAP request URL.

I'm getting the System ID to show in XI in sxmb_moni in the Header but no where do I see it being used with XHeaderName1.

Am I using XHeaderName1 right? If not could you advise as to how XHeaderName1 should be used?

My requirement is to read system ID from Header, not payload.

Thank you!

Tim

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Sep 17, 2009 at 09:55 PM

    XHeaderName1 is for HTTP header, not for SOAP header.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Mr,

      Probably there's some error in inbound or outbound (based on your scenario) message structure (http error 500 refer to an internal server error).

      You need to check message structure.

  • avatar image
    Former Member
    Sep 18, 2009 at 03:13 AM

    I assume that your receiver determination is giving some error.

    When you are determining the Condition in Receiver Determination what kind of object are you using? If not wrong you should be using the Context Object.....in the list present you will find the relevant Header field...select it....and then apply the condition....now hopefully it should work 😊

    Regards,

    Abhishek.

    Add comment
    10|10000 characters needed characters exceeded