SOAP receiver adapter - payload inside the soap envelop

Hi,
We have to send a SOAP message to 3rd party from PI 7.1. Using SOAP receiver adapter - we are trying to achieve this. 3rd party software is unable to accept payload as an attachment of the main envelop - they want it enside the main envelop.
I tried with "Keep attachment" option - but PI still keping the payload as an attachment. I think this option is for handling "extra" attachment.
Is there any way we can keep the payload inside the envelop?
In run-time WB, at the moment envelop looks like
<SOAP:Envelope xmlns:SOAP="http://schemas....
<SOAP:Body>
<sap:Payload xlink:type="simple" xlink:href="cid:payload-d6518670ca1311debbd9ca347000800b...">
</SOAP:Body>
</SOAP:Envelope>
And the payload d6518670ca1311debbd9ca347000800b... ( again viewed from RWB) - contains the data.
<?xml version="1.0" encoding="UTF-8" ?>
<ns2:Order> ....
</ns2:Order>
Can we insert this payload directly inside the SOAP:Envelope body instead of a link there?
Regards,
Sudhin

Hi!
It seems to me that this 3rd party is expecting only XML not SOAP.
If this is the case, you should use the HTTP Receiver adapter instead of SOAP.
Some systems 'say' they can speak SOAP but they can only speak XML. Not to blame, it's a mistake many make these days.
The only way you use SOAP Receiver adapter with this 3rd party, is that if someone from the 3rd party hands you a WSDL file.
Ricardo Sancio Lóra
Brazil

Similar Messages

  • Soap receiver adapter payload with certficate signature

    I have a requirement.. where XI calls external webservice using SOAP.
    I have configured SOAP receiver adapter, but the webservice wants the certificate authentication.. From XI we sent the certficate to external webservice and then in the comm channel I did activate the 'certficate' check box. It did not work.
    For test purpose now they have deactivated the certficate authentication in their end.. it works if they deactivate. It means there is no issue with request structure.. purely the issue is when I use the certficate.
    External webservice sent me the copy of the soap request which works for them.. <b>that has security signature inside the payload.</b>  ( I have atteched below).
    If anybody has done it have an idea how to do it please let me know.
    - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <soapenv:Header>
    - <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-62149565">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</wsse:BinarySecurityToken>
    - <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    - <ds:SignedInfo>
      <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
      <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
    - <ds:Reference URI="#id-24819136">
    - <ds:Transforms>
      <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
      </ds:Transforms>
      <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <ds:DigestValue>6Mzpm7P8k3f8UuxbBMP4ZTC83Yc=</ds:DigestValue>
      </ds:Reference>
      </ds:SignedInfo>
      <ds:SignatureValue>HcqMChOzlHFXTRRAf7kyTSQ5Jd53Yiu7oFLjkh5P3vayo2G4sjFv/qFKHX0E6a5xkBMTIRrW+30t7IdB4X0x35FPO1dTulz37KM1/jpLSGVxnjnWWeFZvseVjJsk5NTPiSE6GAjO7rFW/Vled2djATTmZsIgJCIfhLYVp112Uis=</ds:SignatureValue>
    - <ds:KeyInfo Id="KeyId-21369792">
    - <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-29015968">
      <wsse:Reference URI="#CertId-62149565" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
      </wsse:SecurityTokenReference>
      </ds:KeyInfo>
      </ds:Signature>
      </wsse:Security>

    go through this webinar and follow the steps...It will solve your problem..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1b657d59-0c01-0010-4fa8-f792fa412823
    Regards,
    Ravi

  • SOAP RECEIVER: Possible to change the soap header request

    Hi
    Is it possible to change what is included in the soap header like namespaces (.. xmlns:ns="http://what.com"
    Specifically I need to have the "http://Strange.org/thisis.xsd" (see below) included in the header and the <ns:pi-create> included in SOAP-ENV
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ns="http://Strange.org/thisis.xsd">
    <SOAP-ENV:Body>
    <ns:pi-create>
    <request>
    <request-data>...
    </request-data>
    </request>
    </ns:pi-create>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Hope somebody can help
    Cheers

    Hi Bowie,
    1.You can change the Namespace. condition is no obj's under the namesapce then only it's possible otherwise u can't.
    2.create a new namesapce what ever u want and copy all the obj's under that namesapce.finally delete the previous one.
    XMLAnonymizerBean
    Use
    You use this module to anonymize XML elements and attributes by removing namespaces or namespace prefixes from the XML document of the main payload.
    You can define a particular namespace prefix for each namespace. You can also change the encoding attribute of the XML declaration.
    Integration
    You can use the module in adapters that can be extended in the module processor.
    Activities
    Entries in the Processing Sequence
    ●      Insert the module before the adapter module.
    If the adapter comprises multiple modules, for information about the position of the module, see: Extending the Module Chain in the Module Processor
    ●      Enter the module name AF_Modules/XMLAnonymizerBean.
    ●      Select the Module Type Local Enterprise Bean.
    ●      The system proposes a module key.
    Entries in the Module Configuration
    ●      anonymizer.acceptNamespaces
    Enter a list of namespaces and their prefixes that are to be kept in the XML document as follows: namespace1 n1 namespace2 n2 u2026
    To enter a namespace without a prefix, enter '' (two single quotation marks).
    Any namespaces you do not specify are removed from the XML document.
    ●      anonymizer.quote
    Specify the character to be used to enclose the attribute values.
    The default value is '. The parameter is optional.
    ●      anonymizer.encoding
    To use a code page other than UTF-8, enter it.  The parameter is optional.
    For example, enter ISO-8859-1.
    Example
    The anonymizer.acceptNamespaces parameter has the following value:
    urn:sap-com:document:sap:rfc:functions rfc urn:sap-com:document:sap:soap:functions:mc-style rfc
    ●      Payload before using the XMLAnonymizerBean:
    <Z_PAYMITEM_GET_LIST
      xmlns="urn:sap-com:document:sap:rfc:functions"
      xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <I_ACCOUNTIDENT xmlns="">
        <ACCOUNT_NUMBER>0080000094</ACCOUNT_NUMBER>
        <BANK_COUNTRY>DE</BANK_COUNTRY>
        <BANK_COUNTRY_ISO>DE</BANK_COUNTRY_ISO>
      </I_ACCOUNTIDENT>
    </Z_PAYMITEM_GET_LIST>
    ●      Payload after using the XMLAnonymizerBean:
    <?xml version='1.0' encoding='utf-8'?>
    <rfc:Z_PAYMITEM_GET_LIST
      xmlns:rfc='urn:sap-com:document:sap:rfc:functions'>
      <I_ACCOUNTIDENT>
        <ACCOUNT_NUMBER>0080000094</ACCOUNT_NUMBER>
        <BANK_COUNTRY>DE</BANK_COUNTRY>
        <BANK_COUNTRY_ISO>DE</BANK_COUNTRY_ISO>
      </I_ACCOUNTIDENT>
    </rfc:Z_PAYMITEM_GET_LIST>
    with rgds,
    MFH

  • Soap Receiver adapter , Target URL and Soap Action

    HI all,
              WIll anyone tell me regarding Soap action, casue , they have given a URL which i have put in Target URL, but i am not able to understand what is SOap action what need to be put in this
    Thankign you
    Sridhar

    i Sridhar,
    In XI SOAP adapter we need two things:
    SOAP URL: which is endpoint to the webserver.
    SOAP action: describes particular method name we wanted to excute on that web applicaiton hosted on the webserver.
    WSDL file has normally multiple operations(methods) , so we execute particular method by giving particular action name.
    Action is not mandatory parameter i guess, this is in case , when wsdl is exposing only one method(action).
    :Normally you can find SOAP Action element under element <SOAP:operation name = "XXX">
    Hope this clears.
    Cheers,
    Div

  • SOAP receiver adapter for ASCII-7 characterset???

    Hi,
    Our scenario is Abap Proxy -> XI -> Web Services (SOAP Adapter). Receiver webservice will accept only the characterset of ASCII-7. But Abap Proxy will send only unicode characterset (default).
    Any workaround for receiver SOAP adapter to accept ASCII-7 characterset?
    Regards,
    Prasad U

    Hi -
    You can set a specific encoding in the soap receiver channel module configuration.  From the SOAP Adapter FAQ (Note 856597):
    <i>         o  Q: What character encoding is supported by the SOAP receiver
                adapter?
                A: The SOAP receiver adapter can use any character encoding
                supported by the local JDK. The request message from the SOAP
                receiver is normally encoded in UTF-8. If you want to change this
                encoding, for instance to iso-8859-1, you can set parameter
                XMBWS.XMLEncoding to iso-8859-1 in the module configuration for
                the SOAP adapter module. This setting is for the outgoing SOAP
                message and has no effect on the incoming SOAP message. For the
                incoming SOAP message, any code page supported by the local JDK
                is accepted.</i>
    Check the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79">How to Use the XI 3.0 SOAP Adapter</a> document for an example.
    Regards,
    Jin

  • URL in SOAP Receiver Adapter

    Hi,
    I was given a WSDL file which contains the following:
    <wsdl:port name="ZISU_INSTLN_CREATE" binding="tns:ZISU_INSTLN_CREATE">
      <soap:address location="http:// hostname:port /sap/bc/srt/rfc/sap/zisu_instln_create/100/zisu_instln_create/zisu_instln_create" />
    </wsdl:port>
    I've configured a SOAP receiver adapter. In the URL i put the SOAP address location from the WSDL.
    Is this correct?
    I am seeing the following error when i try to send a message:
    Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect.
    Is the error because of the url I use?
    Thx
    Robert

    Hi,
    I do have details in the message:
    - <detail>
    - <ns:SystemFault xmlns:ns="http://www.sap.com/webas/710/soap/runtime/abap/fault/system/">
      <Host>undefined</Host>
      <Component>COREMSG</Component>
    - <ChainedException>
      <Exception_Name>CX_SOAP_CORE</Exception_Name>
      <Exception_Text>SRT: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 200 : OK")</Exception_Text>
      </ChainedException>
    and there is  lot more if it helps finding the error, but maybe this is already enough.
    Also i tried testing with SOAPUI now:
    Result is good. I dont get error's. I get a response from my request as expected.
    But if I test with XML from the RWB, with he same data as in SOAPUI, i get the error message again.
    Conclusion:
    SOAPUI can communicate with my SAP ISU system.
    But PI cannot communicate with it.
    Why?
    Thx
    Robert

  • SOAP Receiver adapter target url and method details

    Hi Friends,
    I am working on file to SOAP interface.
    I know using SOAP receiver adapter , we need to have target URL and action.
    Here, how client need to give target url and action as they are not aware of these things..please suggest.
    Also if we are generating inbound service interface,how they have to handle this from their end.
    Thanks
    Kishore

    Get the WSDL file from ur Third party client and u can use the WSDL file as an External definition in PI and WSDL file also has WSDL URL which u can use in SOAP receiver adapter.
    For INbound SOAP case-
    Generate the WSDL file in XI and give that WSDL file to ur third party client which will send the data using the WSDL URL mentioned in the file.
    refer below blog for understanding in detail:-
    How to use SOAP adapter:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
    chirag

  • Creating Digital certificates for SOAP Receiver Adapter

    Hi
    In Visual Admin...> if we go to the "key storage" and try to create the certificates, we have the options of
    selecting the below algorithms.
    RSA-512,1024
    DH -512,1024
    DSA-512,1024
    But SOAP Receiver Adapter supports only the below encryption algorithms.
    3DES
    DES
    RC2-40
    RC2-64
    RC2-128
    Still if I try to use any of the RSA, DH, DSA algorithms to create the certificates in visual admin and if I
    use the same certificate in SOAP Receiver adapter, I am getting the below error in sxmb_moni
    com.sap.aii.af.ra.ms.api.DeliveryException: Unsupported keysize or algorithm parameters.
    Could you plz advise, is there any provision in XI to create the certificates using the algorithmS 3DES, DES, RC2 ? or We got to import the certificates from third-party which supports 3DES, DES and RC2 ??
    Regards
    kumar

    can't wait further so closing the thread

  • No Payload in the soap receiver call adapter ?

    Hi Guys,
    configured Proxy-SOAP Asynchronus process and in the sxmb_moni, i am unable to see the payload under call adapter in sxmb_moni, but i am able to see the payload under RWB in MDT. The message is checked successful in monitor.
    I am not understanding why i am unable to see the payload under call adapter in sxmb_moni.  I am not getting the data into my receiver system.
    Do i need to mention the QOS as EO in the soap url in the soap receiver adapter configuration ?
    any help would be really appreciated
    Thanks,
    srini

    Hi,
    You can only see the Payload(both with and without transformation) in MONI. message that is handling by adapter can only seen in Adapter Framework using RWB-Message Monitoring or using Communication Channel Monitoring.
    Regards,
    Farooq.
    <b>
    Rewards points if you find it usefull.</b>

  • SOAP receiver adapter message: PI payload in parameter or body

    Hi,
    We tried to send messages via the following way to an external partner: SAP --> IDoc > XI (7.1)> HTTP(s) --> external partner.
    We tried 2 techniques:
    1. using a HTTP receiver communication channel with HTTP destination (using certificate).
      As the path prefix in the destination, including parameters,  exceeds 256 characters, we had to search for another solution
    2. using the SOAP receiver communication channel with a target URL (https string) and indicator 'Do not use SOAP envelope' set   
      When sending the message, the body of the message, the IDoc XML payload doesn't seem to be read by the partner, probably related to the fact that they do not use the right software to do so, as decribed in forum: 
    SOAP receiver adapter error (SOAP receiver adapter error.)
    Is this the right interpretation and is there no other solution than try to append the payload to the parameterlist ?
    Regards,
    Jan Macken

    The partner found a way to read the body correctly

  • No SOAP Envelope error in SOAP Receiver Adapter

    Hello Friends,
    Informaiton:-
    I have configured one Synchronous scenarion for SAP R/3 to PI 7.1 to Java based web applicaiton.
    On the Receiver/Outbound side, i have configured the SOAP Receiver Adapter with the Target URL and SOAP Action.
    Outbound and Inbound service interfaces have Request/Response and Fault messages.
    Issue:-
    While sending the Message, Below error is noticed in ABAP stack SXMB_MONI during the Call Adapter Stage and also in RWB (Channel Monitoring) .
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP  Envelope but 1 {}RESPONSES; HTTP 200 OK
    I also found that Request message is not reaching to the Java Web server.
    I am taking the Same message Payload (found at Call Adapter Stage) and ussing it in XML Altova SPY Web client tool. There it is running scuccessfully and getting the Response message.
    please suggest.
    Thanks & Regards
    Jagesh

    Hi,
    Yesterday i consumed the same WSDL file in Altova XML SPY and there it is working, getting the Response.
    Now comparing the SOAP Request message reaching to the Third party Web server (which fall within the same Lane network)
    from SAP PI and Altova XML SPY tool. I used TCP Gateway for the below scenarios.
    (1)First i sent the SOAP message from PI and observed the RESPONSE message without the SOAP Envelope in TCP Gatway Trace and hence i am getting the No SOAP Envelope Error in PI.
    (2)I consumed the same WSDLfile in Altova XML SPY and sent the SOAP message, here i got the Proper SOAP Response message and hence success in this case. (Used the same Data Payload as used in point 1)
    (3)Now to identify the issue in the SOAP Request message being sent from PI, i used the same SOAP message sent in step 1 here, that means copy the entire SOAP ENvelope from the TCP gateway Trace and pasted it in Alota Spy and sent, there it is found running (got the response message from Third Party server).
    One difference i found in HTTP Protocol statements in SOAP Request message in Point no 1 and Point no 2 above.
    HTTP Protocols in Point 1 (Through PI).
    POST  HTTP/1.0
    Accept: /
    Host: 172.24.138.142:4544
    User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505
    CallingType: SA
    content-id: <soap-00306EEAC2051ED1839136CEE8564900 sap.com>
    Content-Type: text/xml; charset=utf-8
    Content-Length: 1195
    SOAPACTION: "Action1"
    HTTP Protocols in Point 2 (Through Altova).
    POST / HTTP/1.1
    Content-Type: text/xml
    User-Agent: XML Spy
    SOAPAction: "Action1"
    Host: 172.24.138.142:4544
    Content-Length: 1195
    Connection: Keep-Alive
    Cache-Control: no-cache
    Thanks to Mr. Stefan Grube for writting such a nice blog.
    Troubleshooting SOAP, HTTP and Mail Adapter Scenarios with TCPGateway
    Experts, please suggest me further.
    Thansk & Regards
    Jagesh

  • Payload at Adapter for System Errors - SOAP receiver adapter

    Hi Everybody,
    I am working on an Idoc to SOAP asynchronous scenario.
    There are connection issues between SOAP adaper and the target webservice.
    I need to capture the Idoc number from the message payload for the Erroneous messages at the adapter for the System errors.
    Is there any way of capturing field values from the payload (Say, Idoc number) at the SOAP receiver Adapter level.
    Helpful answers will be rewarded points.
    Thanks & Regards,
    Zabiulla

    Hey,
            I think you need to implement a module inorder to get the payload at receiver adapter module.
    As far i concern you can not directly refer the payload in adapter in receiveer communication channel unless you have your own module, which gets the payload. Check the Modules tab in the communication channel and also regarding how to get the payload for error information, follow the steps mentioned in the below link, which gets the payload in file. hop it will resolve your issue.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/writepayloadtoafilefromAdapter+Module
    Regards..
    Prasanna..

  • Proxy to SOAP Scenario, payload with the SOAP envelops

    Hi ,
    We have Scenario like Proxy to SOAP,As per Business requirement they are asking payload with ENVELOP . Like below message
    ================================================================
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
         <SOAP-ENV:Header>
              <nseps:endpoints xmlns:nseps="urn:schemas-IBX:/docs/endpoint.nsendpoint" SOAP-ENV:mustUnderstand="true">
                   <nseps:to>
                        <nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
                   </nseps:to>
                   <nseps:from>
                        <nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
                   </nseps:from>
              </nseps:endpoints>
              <nsprop:properties xmlns:nsprop="urn:schemas-IBX:/docs/property.nsproperty" SOAP-ENV:mustUnderstand="true">
                   <nsprop:identity>3198841w-fa4d-dafa-2797-89029c15255b</nsprop:identity>
                   <nsprop:sentAt>2010-01-18T02:42:08Z</nsprop:sentAt>
                   <nsprop:topic>CostObjectInformation</nsprop:topic>
              </nsprop:properties>
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
    //Payload of the message to be added here.
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I am trying out this in XSLT, but I am not sure how to add the SOAP Envelops and these Envelops are Static.
    Can someone help me out in this.
    Joe

    But if you look at the SOAP Envelop Structure below it is not XI generated SOAP Envelop. IBX (3rd party) has its own standards, so XI has to Produce the SOAP Envelop according to their standards.
    I have created the XSD with SOAP Envelop stucture with what ever structure 3rd party wants, but the problem is when Creating the SOPA Envelp tag, where it has a ":" where its not allowing me to create the valid XSD. And at the same time 3rd party is not in position to give us even WSDL file and we are not using  Webservice call and they are not able to provide the XSD with SOAP envelop structure.
    I thought of going for XSLT and started doing as well with what ever XSD 3rd party has provided, which does not have the SOAP Envelop structure and has only payload XSD structure.
    80% of the SOAP Envelop structure is Static, it does not change. Only 2 fields keeps changing. IS there any solution that we can create XSD with the SOAP structure with Special Character ": "or is there any way in doing in XSLT.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
    <SOAP-ENV:Header>
    <nseps:endpoints xmlns:nseps="urn:schemas-IBX:/docs/endpoint.nsendpoint" SOAP-ENV:mustUnderstand="true">
    <nseps:to>
    <nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
    </nseps:to>
    <nseps:from>
    <nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
    </nseps:from>
    </nseps:endpoints>
    <nsprop:properties xmlns:nsprop="urn:schemas-IBX:/docs/property.nsproperty" SOAP-ENV:mustUnderstand="true">
    <nsprop:identity>3198841w-fa4d-dafa-2797-89029c15255b</nsprop:identity>
    <nsprop:sentAt>2010-01-18T02:42:08Z</nsprop:sentAt>
    <nsprop:topic>CostObjectInformation</nsprop:topic>
    </nsprop:properties>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    its a high priority issue.
    Thanks in Advance.
    Joe.

  • SOAP Header in SOAP Receiver adapter

    Hi All,
    I am doing a Proxy to  Webservice scenario where webservice requires the SOAP request as below.
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
        <SOAP-ENV:Header>
            <mh:CustomHeader xmlns:mh="http://schemas.test.com/customHeader">
                <mh:MessageData>
                    <mh:MessageId>12345</mh:MessageId>
                    <mh:Timestamp>2004-06-09T14:41:44Z</mh:Timestamp>
                </mh:MessageData>
            </mh:CustomHeader>
            <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
                <wsse:UsernameToken>
                    <wsse:Username>test</wsse:Username>
                    <wsse:Password>test123</wsse:Password>
                </wsse:UsernameToken>
            </wsse:Security>
        </SOAP-ENV:Header>
        <SOAP-ENV:Body>
        </SOAP-ENV:Body>
    Need your help to understand how can we achieve this using Standard SOAP adapter to customize the Header part as it requires to include "<mh:CustomHeader " & "UsernameToken".
    Or Do i need to go for adapter module development to create this SOAP request.
    Please provide your suggestion to achieve this scenario.
    Thanks & regards
    Ashwin
    Edited by: ashwin dhakne on May 17, 2010 5:32 PM

    Hi all,
    Created  a below target payload in a message mapping with  SOAP Header & Body part as per the requirement.
    In SOAP receiver communication channel, checked the option " Do Not Use SOAP Envelope".
    But while executing an sceanrio, i am facing  an error in SOAP receiver channel as Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    And if i don't check the option " Do Not Use SOAP Envelope" it gives an error as
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Unable to obtain service binding,error=Payload Envelope is not a known message for TestWebserviceService.
    Please provide your suggestions to handle this issue.
      <?xml version="1.0" encoding="UTF-8" ?>
    <ns1:Envelope xmlns:ns1="http://schemas.test.com/CustomrHeader">
    <ns1:Header>
    <ns1:CustomrHeader>
    <ns1:MessageData>
      <ns1:MessageId>Constant</ns1:MessageId>
      <ns1:Timestamp>Constant</ns1:Timestamp>
      </ns1:MessageData>
    <ns1:Security>
    <ns1:UsernameToken>
      <ns1:Username>Constant</ns1:Username>
      <ns1:Password>Constant</ns1:Password>
      </ns1:UsernameToken>
      </ns1:Security>
      </ns1:CustomrHeader>
      </ns1:Header>
    <ns1:Body>
    <ns1:Details>
    <ns1:Information>
      <ns1:Title>Test</ns1:JobTitle>
      </ns1:Information>
    <ns1:Contacts>
      <ns1:Street>Test Drive</ns1:Street />
      </ns1:Contacts>
      </ns1:Details>
      </ns1:Body>
      </ns1:Envelope>
    Thanks
    Ashwin
    Edited by: ashwin dhakne on May 18, 2010 5:47 PM
    Edited by: ashwin dhakne on May 18, 2010 5:48 PM
    Edited by: ashwin dhakne on May 18, 2010 5:48 PM

  • Usage of Module processor in SOAP Receiver Adapter

    Hi,
    I have scenario where I am calling an external Web Service via XI. Unfortunately I need Java Mapping to generate the complete SOAP Message (there are some special header elements required by the Web Service)  and flag 'no soap' in the SOAP Receiver Adapter. This works fine, but I have additional Web Service Calls that have the same Header logic and I don't want to use Java Mapping all the time.
    I was wondering if it is possible to use graphical User Mapping for the Business Data that goes to the SAOP Body as a payload and use Java code to generate the SOAP Message (actually the SOAP Wrapper and the Header).
    Can I do this in XI using the Module processor in the SOAP Receiver adapter or do I have to use two mappigs, one based on the Graphical mapping and another using Java Mapping? Is it feasible at all in XI?
    Thanks in advance.

    Hi,
    You can use Module Processor.
    But,
    1. If it is a synch call, in when the message is going from the SOAP adapter to the Webservice, you will need to manually Add the SOAP header as you want . ( you will need to create the entire SOAP mesage as the output of the Module ).
    2. When the response comes back, the same module will need to remove the SOAP header etc and pass a valid , XML message to the Graphical mapping.
    If you have a requirement that some fields of the SOAP header will be needed to be accesed in the Response mapping, then you would need to either add this field to some field in the response payload.
    Better option would be to use, Either a Java or a XSL mapping that does all the required stuff for you.
    Regards
    Bhavesh

Maybe you are looking for