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.

Similar Messages

  • 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>

  • Capture the file name in the payload from the SOAP payload

    Hi ,
    We have a scenario , a file to RFC , we need the file name which is coming the SOAP payload . This file name needs to be captured in the payload . Please tell me is there  any way capture this .
    Thanks
    Anita

    Anita,
    If SP14 and above , do this,
    Sender File adapter --> Adapter Specific Identifiers -->  Select File name
    Then in your mapping, you can use this piece of code to access / get the file name,
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String FileName = conf.get(key);
    Regards,
    Bhavesh

  • 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

  • Synchronous RFC -- SOAP Scenario: problem with SOAP Response/Fault Mapping

    Hi,
    I've a synchronous RFC --> PI --> SOAP Scenario. The problem is that the message structure of the sending RFC doesn't match the Webservice Structure.
    The (SAP standard) RFC has just a Request / Response message structure. Part of the Response Message structure is a exception structure.
    The Webservice has a Request / Response message structure and in case of an error I get a SOAP:Fault.
    Problem now is that I cannot configure that scenario without usage of BPM as I will have to map SOAP:Response or SOAP:Fault to the RFC Response structure.
    Has anybody another idea to do that synchronous scenario (with usage of message mapping) without BPM?
    BR
    Holger

    1)
    you maus define 3 mapping.
    1)request
    2)response
    3)Fault
    in Interface mapping define at response boths (2-3) mapping. its clear??
    2)
    otherwise sometjhing is not clear, why do you want fault?? why dont you  get only response message. we implement this kind of response:
    <response_MT>
    <ID> (error ID)
    <system> (target system) 
    <error> (Error Description)
    </response>
    by this way fault message is not needed. but if you must have it just follow the top of message else, propose second.
    Thanks
    Rodrigo
    Thanks
    Rodrigo
    Edited by: Rodrigo Pertierra on Feb 25, 2008 11:52 AM

  • File upload with the SOAP Axis Framework

    Hi,
    my scenario is as follows:
    ERP --> PI --> System A (3rd party application)
    ERP sends data (IDoc) to the PI and is mapped there to a xml structure expected by A.
    IDoc --> PI --> target xml structure
    On A runs a Web service (Axis Framework) with a method uploadFile that expects one parameter (client of A) and the file for the upload has to come as attachment (call.addAttachment).
    I imported already the wsdl and can see the message uploadFile in the IR. The Axis Framework is also available already in the SOAP adapter.
    So I have
    IDoc --> PI --> target xml structure
    but want to call
    PI --> uploadFile(client) \[with the target xml structure as attachment\]
    How can I map the parameter to uploadFile and get the mapped xml structure as attachment?
    Thanks and regards
    Patrick

    Hi,
    thanks for your answer. The PayloadSwapBean could be a solution for the problem and I will try to use it.
    Here is another (simplified) version of my scenario:
    I have one source interface with three data fields
    SD1
    SD2
    SD3
    This should get mapped to a target interface with two data fields
    TD1
    TD2
    So if a source message arrives at PI a Message Mapping is called and the message gets mapped to the target structure.
    The result of this mapping should get the attachment of a Web service call.
    In a sample client for this Web service it looks like:
          Service service = new Service();
          Call call = (Call) service.createCall();
          call.setOperationName(new QName(... "uploadFile"));
          call.addAttachmentPart(...);
    The target interface of the Web service is the message uploadFile in an imported wsdl file. This interface has one data field
    WSD1
    and is independent of the other data fields.
    For filling WSD1 another mapping is necessary (or maybe not?).
    Regards
    Patrick

  • Missing Namespace with the SOAP msg sent by C#

    Hi All,
    The wsdl file is generated by SAP XI. I used the XMLSpy to test it and get successful response.
    Then I used wsdl.exe of .net 2.0 sdk to generate the C# proxy class, and use csc.exe to compile it to a dll, and then refer it in the project. After sent the soap message by C#, the XI shows the message is wrong, then I compare this soap envelop body with the one I sent by the XMLSpy as follow:
    C#:
    <MT_PP_014_PrdOrderGoodsRcv xmlns="http://mycompany.com/xi/sap/system/pp">
    <content>
    </content>
    </MT_PP_014_PrdOrderGoodsRcv>
    XMLSPY:
    <m:MT_PP_014_PrdOrderGoodsRcv xmlns:m="http://mycompany.com/xi/sap/system/pp">
    <content>
    </content>
    </m:MT_PP_014_PrdOrderGoodsRcv>
    so it is the namespace, according the xml generated by C#, the MT_PP_014_PrdOrderGoodsRcv element isn't inlucded in the namespace http://mycompany.com/xi/sap/system/pp, which cause the error.
    Anyone know how to fix it?
    Thanks and B'Rgds,

    Hi YiNing,
    the message created by C# is indeed wrong.
    Check that in XMLSpy message, the default namespace is never set and that the message namespace is set to prefix "m" and that only the root tag is included in this namespace. All the other tags have no namespace (since they are not attached to any namespace prefix) or have the default namespace, which was not set.
    On the other hand, in the C# message, the default namespace is set in the root tag. The root tag is related to the default namespace (it has no prefix) and hence it has the proper namespace. However, the other tags are also related to the default namespace (no namespace prefix) which was set. So these other tags are the erroneous ones.
    Try to check that in your proxy, but it seems like a bug in the proxy generator application.
    Just as a test, send the message from C# in a request from XMLSpy (replace the automatically generated message inside SOAP Body). The same error would be expected.
    Also as a test, send this message in XMLSpy:
    <MT_PP_014_PrdOrderGoodsRcv xmlns="http://mycompany.com/xi/sap/system/pp">
    <content xmlns="">
    </content>
    </MT_PP_014_PrdOrderGoodsRcv>
    Regards,
    Henrique.

  • Problem with the SOAP adapter !

    Hi!
    We are trying to use a WebServices from XI.
    In the WSDL file that we have imported and use'd in
    our mapping the information about the soap header look's
    like this :
    <wsdlsoap:header message="impl:serviceRequest" part="toCountry" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="fromCountry" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="language" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="customerCodeOwner" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="customerCode" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="userId" use="literal" />
    <wsdlsoap:header message="impl:serviceRequest" part="userPassword" use="literal" />
    But then the message leave the SOAP adapter
    it looks like this:
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
    <SOAP:Header/>
    <SOAP:Body>
    <ns1:serviceRequest xmlns:ns1='http://www.dnbnordic.com/brg/NRGDecisionSupportDSC/wsdl'>
    <nRGDecisionSupportDSCRequest>
    <ns2:criteria xmlns:ns2='http://www.dnbnordic.com/brg/NRGDecisionSupportDSC/request'>
    <ns2:socialSecurityNumberApplicant>XXXXXXXXXX</ns2:socialSecurityNumberApplicant>
    <ns2:conversationCode>X</ns2:conversationCode>
    </ns2:criteria>
    </nRGDecisionSupportDSCRequest>
    <toCountry>XX</toCountry>
    <fromCountry>XX</fromCountry>
    <language>XX</language>
    <customerCodeOwner>SYD9001</customerCodeOwner>
    <customerCode>XXXXXXX</customerCode>
    <userId>XXXX</userId>
    <userPassword>XXXXXX</userPassword>
    </ns1:serviceRequest>
    </SOAP:Body>
    </SOAP:Envelope>
    The SOAP header info. is in the body !
    Ofcourse the message fails !!
    Any ideas ??
    //Stig

    Hi Stig,
    Although specified in the WSDL 1.1 spec, the use of soap:header is quite rare.
    And having a soap header consisting of multiple parts and not referring to single XSDL element is a bit in conflict with the document/literal approach.
    Bottom line: please try and convince your business partner to not use the soap:header trick and stick to standard document/literal web services.
    Kind regards, Guy Cretgs

  • SOAP scenario "Do not use SOAP Envelope" check problems

    Hi Gurus!
    I'm again here.
    I've an scenario with SOAP Receiver, the WS do I need consume, looks like:
    POST /SumTotalws1/services/Authentication.asmx HTTP/1.1
    Host: xxx.xxx.xxx.xxx
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/Login"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <Login xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    but the response looks like:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/" />
      </soap:Body>
    </soap:Envelope>
    when I create my communication channel with "Do not Use SOAP Envelope" uncheck it, all run ok, but I only get in response message "<LoginResponse>" and I need <UserToken>
    When I check it "Do not use SOAP Envelope" and I use XSLT mapping to add SOAP Env to request message,  I get response message empty.
    I tried the web Service with the message that I obtained from de XSLT mapping in the program SOAPUI. I get ok response with the <UserToken> value.
    some idea to solve this problem??
    Thanks in advance.
    Edited by: KrlosRios on Sep 30, 2011 8:07 PM

    Hi, thanks for your answer.
    Can I use AXIS to execute any WS?
    The WS that I tried execute looks like this:
    POST /xxxx/services/Authentication.asmx HTTP/1.1
    Host: xxx.240.106.39
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://xxx/Authentication/Login"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <Login xmlns="http://xxxxAuthentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    and for the response:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/"></LoginResponse>
      </soap:Body>
    </soap:Envelope>
    also I found in Trace node in SXI_MONITOR, jus before execute response mapping :
    <Trace level="1" type="B" name="PLSRV_MAPPING_RESPONSE"></Trace><!-- ************************************ -->
    <Trace level="1" type="Timestamp">2011-11-01T19:33:34Z UTC-6 Start of pipeline service processing PLSRVID= PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="3" type="T">Calling pipeline service: PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="3" type="T">Reading Pipeline-Service specification... </Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">ADRESSMOD  = LOCAL</Trace>
    <Trace level="3" type="T">P_CLASS    = CL_MAPPING_XMS_PLSRV3</Trace>
    <Trace level="3" type="T">P_IFNAME   = IF_XMS_PLSRV</Trace>
    <Trace level="3" type="T">P_METHOD   = ENTER_PLSRV</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="2" type="T">......attachment XI_Context not found </Trace>
    <Trace level="3" type="T">Das Mapping wurde bereits in der Interface-Ermittlung bestimmt. </Trace>
    <Trace level="3" type="T">Objekt-Id des Interface-Mappings 8594D8C2E6DA3C008F45B112FFCC86B8 </Trace>
    <Trace level="3" type="T">Versions-Id des Interface-Mappings C3BB8FB0A1D511E0A688E9FCB9F06E16 </Trace>
    <Trace level="1" type="T">Interface-Mapping http://xxxxx.net/pi/lms/Authentication OM_LMS_Authentication </Trace>
    <Trace level="3" type="T">Mapping-Schritte 1  XSLT Response_LMS_Auth5 </Trace>
    <Trace level="3" type="T">MTOM-Attachments werden nicht in die Payload überführt. </Trace>
    <Trace level="1" type="T">Payload is empty. </Trace>
    <Trace level="3" type="T">Dynamische Konfiguration ist leer. </Trace>
    <Trace level="2" type="T">Modus 0  </Trace>
    <Trace level="2" type="T">Call XSLT processor with stylsheet Response_LMS_Auth5.xsl. </Trace>
    <Trace level="3" type="T">Method fatalError called, terminate transformation, because of
    Thrown:
    javax.xml.transform.TransformerException: java.io.IOException: Parsing an empty source. Root element expected!
         at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:250)
    Say Payload is empty.
    and in left directory tree, not exist "payload" node, only existe SOAP Body and in "Manifest" node looks like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Outbound Channel Response -->
    <SAP:Manifest wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" 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">
    <SAP:Payload xlink:href="cid:att-60c3078b066911e1bc1500000093b25a @sap.com">
    <SAP:Name>MainAttachment</SAP:Name><
    SAP:Description>Main document</SAP:Description>
    <SAP:Type>Application</SAP:Type></SAP:Payload>
    </SAP:Manifest>
    Thanks for your help.

  • Sending the SOAP request back in the SOAP response

    Hi,
    I have a requirement in which I need to update a database from the information I receive in a SOAP request. Now my database will respond back with the number of records that are updated. Now I need to send back a SOAP response which should have the details that I received in the SOAP request.
    Can anyone help me on how to send the SOAP request details back in the SOAP response again? I don't want to use a BPM to do this. Also I know that I can use a select statement to get the records that are updated in my response mapping program. Any options other than these?
    - Ram

    Hi Stish,
      I do have exactly the same need, just with the difference that I'm sendind data from JDBC as sender and RFC as receiver, the RFC receive an ID fot example and return some data as a response and I want to update the DB with that response but I dont know how to merge the ID from the request and the data from the response in order to send it back and update the DB. I'm willing to do it with BPM but I don't know how to keep the request and the response and then merge them into the new message that will be sent to the JDBC, can you give me some specific steps?
    Thanks in advance.
    Gustavo Balboa.

  • Updating payload with the remote java library

    Hello,
    Please Help.
    Does someone know how to update the payload using the remote java library?
    I tried this way...
    code:
    IWorklistContext ctx = client.authenticateUser(user, password);
    Task t = client.acquireTask(ctx,taskId);
    t.setPayload(payload);
    client.updateTask(ctx,t);
    client.customTaskOperation(ctx, taskId, action);
    Thanx

    Hi Veronica,
    we've encountered the same problem. It is possible to update the payload, but the data doesn't come back (when using the remote lib). We've created a TAR for this, but so far there's no solution yet. But, we did manage to create a workaround for it. It's not the cleanest solution, but for now it works.
    What we do is, we create an XSD for the payload, and send it along with the usertask as usual. Only, our JSP saves the document in the Comments field. In the BPEL we can then extract the document using ora:parseEscapedXML to transform it from comments to our own userpayload.
    Hth,
    Mike van Alst

  • Give a file with the SOAP response

    Hello experts!
    I'd like to ask you about the next situation on our PI 7.0:
    I have to make a scenario like this: SOAP -> XI -> RFC
    After a validation on the ECC side, in the the response.. I have to pick up a File (that come as the request from the webservice with his directory) and give it back to the Web Service.
    At the start I thought to do it with a BPM.. but the the issue is that the FileName and Direcory will be dynamic (the WS is going to request different files from diff. directories) and also, the WS response need the file, for example, lile a byte array.
    Is it possible?
    Please if it isn't fully explained tell me.
    Thanks,
      Juan

    I've seen in here:
    http://help.sap.com/saphelp_nw04/helpdata/en/cd/5af7c0c994e24fb0d0088443513de2/content.htm
    that:
    SOAP Adapter
    ●      In the sender adapter, you cannot add your own modules.
    Is this a constraints for what I posted above?
    Regards,
      Juan

  • Proxy to SOAP scenario-With Attachment and Mapping

    I have a scenario to be developed, it is a Proxy to SOAP sceanrio.
    There are about 8 fields coming from Proxy.
    Can we create an attachment from these fields.
    Also we have to do a mapping of this attachment to a field in the target External Defination and also 2 fields of the 8 have to mapped to the other respective fields of the external defination.
    All this has to be posted on a webservice through SOAP with
    the 2 fields in payload and
    the attachment in the attachemnt section of the message
    Could this be achieved?

    In ABAP proxy you create a message with the two fields which you need for main SOAP message.
    The attachment is created exactly how it is requested from web service.
    You create a String with the XML (including tags) and do a codepage conversion to UTF-8 (or whatever is requested)
    Note: The payload is created in UTF-8 automatically, the attachment is treated as binary.
    You can also use a Java mapping for creating the attachment, if you have good Java skills, but I recommend to use program code for one purpose only on one place.

  • Modify the payload in a soap receiver adapter module

    Hi all,
    I have an scenario where I should modify the soap_body tag (adding a head and a tail).
    I have implemented it using an adapter module, since the mapping is for business stuff and this head and tail is just a technical requirement of the third party web service
    It works fine when I use a file channel for testing, but when added to the soap channel, then leaves the soap body empty.
    Is there any difference between using the Adapter module on a file channel and a soap channel?
    regards,
    David R.

    David,
    Is your requirement that you need to create the SOAP enevlope with some custom fields when sending the data to the SOAP adapter?
    if yes, this is what you need to do,
    1. In your mapping ( using XSL or Java ) create the Entire SOAP envelope including the SOAP header and the SOAP Body.
    2. In the receiver SOAP adapter, select option "Do not use SOAP Envelope".
    By default, the SOAP adapter creates the SOAP Envelope for the message and strips out the SOAP content for the response. If you need to add custom fields etc in the SOAP header you need to manually create the SOAP header and body and then select the above option.
    Regards
    Bhavesh

  • Issue with Receiver SOAP adapter for synchronous scenario

    Hello All,
    We are facing a strange issue with the SOAP adapter in the interface we have setup. This is the 1st time we are using SOAP adapter in our system (PI 7.11 SP7). We are making a synchronous HTTP call to the web service exposed by another system in our landscape. The payload is send with SOAP envelope and there are no credentials to be maintained in PI settings.
    The issue is that we are always getting timeout exception in PI audit logs after sending the request (3 minutes - standard timeout value, no additional config for this). But target system has confirmed that they are sending the response back. We tested from our server OS level and have received the response back in the same screen (to verify there is no firewall/port issue in between the systems). But when tried from RWB, it is always giving the timeout exception and we are not able to see any other log.
    We have tried checking in the NWA logs as well after increasing the logging level to ALL for com.sap.aii.adapter.soap. But surprisingly, we didn't get any logs at all for the outgoing SOAP call or incoming response and hence we are unable to trace the issue.
    We have setup another synchronous inbound SOAP interface (PI exposing the webservice) and it is working fine. We are also able to trace the logs in both audit log and NWA logs.
    Is there anywhere else we can check for the logs? Audit logs is showing timeout error and we are not able to see anything in NWA logs.
    Does the target system need to maintain PI credentials in the header when they send the synchronous response back?
    Are there any specific settings which should be checked to enable the sync communication? (this should not be the case since the inbound interface is working fine)
    Please help.
    Thanks
    Justin

    Hi Amit,
    Thanks for the reply.
    Yes we had tested successfully via SOAP UI as well (forgot to mention that). We are getting back the expected response in SOAP UI without using any credentials. We got the same response when we tested it through OS commands from PI server.
    The WS is hosted by the target system and they haven't maintained any credentials at their end. So when PI is trying to access, we don't need to provide any credentials. My question is, whether the target system should keep any credentials to send the synchronous response back to PI (java stack). We have tried that as well but since there aren't any logs, we are unable to verify whether the credentials are coming correctly.
    The service interfaces are correct and PI configuration are OK. I will try the XPI inspector for logs as you have suggested.
    Thanks
    Justin

Maybe you are looking for

  • Where can I find itunes for 64 bit Windows 7

    The iTunes for Windows 7, Vista, etc complains about being intended for 32 bitOS.  It suggests I download and install the64 bit version.  I couldn't find it on the download page nor via a site search. Any suggestions on where to look? Thanks

  • Trouble with a study course portal - buttons are unclickable...

    I have a sage accounts e-learning course i am doing - its an online course. When you go to the site you have to log-in - up to this point all works fine... Once you are logged in you have to then click on a button that says lauch site, this then trie

  • EXIT_SAPLV60B_002

    hii...i want to use this function module for MIRO to change baseline date as MIGO date...help me how to do it...

  • Different printed colors from DesignJet 4500 and T2300

    Hi. My company has an old DesignJet 4500 and now we bought a DesignJet T2300. We use AutoCAD with a fixed color table but the printed results are very different comparing the two plotters output. The 4500 emulation on the T2300 doesn't make any diffe

  • Unlocked iPhone questions that need to be clarified please!

    Hi! I have read different questions and responses, however I am still really confused/need more information. I just purchased an unlocked iPhone 5 (not Verizon branded) from Apple. My contract with Verizon ends mid October. I want to switch to T-mobi