SOAP Receiver issue

Hi,
I am working on the scenario Proxy to SOAP. While sending the data, we are getting the below error in receiver SOAP communication channel.
Message processing failed. Cause: javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: weblogic/management/WebLogicMBean -
Loader Info -
ClassLoader name: [library:com.sap.aii.adapter.lib] Living status: alive Direct parent loaders:   [system:Frame]   [library:engine.j2ee14.facade] Resources:   /usr/sap/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/weblogic.jar   /usr/sap/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/wljmsclient.jar   /usr/sap/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/wlclient.jar
The SOAP sender is working fine. we are getting the problem with receiver only. Could you please let me know what i should take care of...
Thanks for your help in advance.
---Naresh
Edited by: naresh j on Oct 13, 2011 7:39 AM

Hi,
i tried those options. now i am getting the error "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: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request"
When i send the message from SOAPUI it is working fine and getting the success as response. the problem is while sending the data through PI.
i checked the option "do not use soap envelope"
i used message transformation bean
Please let me know what else i can do to make this work.
Thanks,
--Naresh

Similar Messages

  • Issue in Dynamic configuration in SOAP receiver channel

    Hi All,
    My scenario is file to SOAP. At receiver side I want to generate URL dynamically.
    To proceed step by step, I started with passing a constant URL to Dynamic configuration UDF.
    mapping:
    Dynamic conf. UDF
    Channel Configuration:
    From testing, I found that channel always takes the url given in Target URL field and dynamic URL in TserverLocation is been ignored by the channel.
    That is dynamic configuration is not working completely.
    I went through a lot of blogs and also tried a lot of trial and error methods, but none helped. Every thing I configured looks perfect for me, but still not working. I don't understand where I went wrong. Please help me.

    Hi Experts,
    I am facing similar issue,
    URL --> UDF --> @dynamicvariable
    I have created a variable underparent node eg: DESADV-->dynamicvariable
    passed complete URL to UDF, below is the UDF
    & configured SOAP Receiver Channel as well. This is IDOC to IDOC scenario, using IDOC_AAE on sender side and SOAP on receiver in single stack.
    --> Checked ASMA
    --> Checked Variable Transport Binding and given "TServerLocation" without quotes in XHeaderName1
    --> Target URL: http://
    But when I am running this interface, nothing is coming in Dynamic configuration.
    Ref: Message Log:
    MM and OM is also perfect in ESR.
    Any suggestions? Please advice.
    Regards
    Singh

  • Issue while passing Target URL dynamically in SOAP Receiver Adapter

    Experts,
    I am stuck with an issue while passing the Target URL dynamically.
    The UDF required for this works just fine. I can see the Target URL in Dynamic Configuration header(The Key is TServerLocation) in SXMB_MONI but the request that I am sending is not reaching the web service.
    Some posts have suggested to hard code the Target URL as http://.
    Below is the error that I am getting when I hard the Target URL as http://:
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>RecoverableException</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: invalid content type for SOAP: TEXT/HTML
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:453)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:131)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:834)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    When I hard code the Target URL as Test (any dummy value), the error that I get is different. (Detailed error shown below)
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>RecoverableException</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: no scheme
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:453)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:131)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:834)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    I've referred the post [Dynamic URL for SOAP receiver adapter;.
    I am on PI 7.0.
    Any help in this regard is highly appreciated.
    Best Regards,
    Vijay

    Issue resolved... by doing this:
    DynamicConfigurationKey key2 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "TAuthKey");
    conf.put (key2, "username");
    In the advanced tab of the communication channel, set the flag "View Authorization keys", and then added "username" (user to access the dynamic target url) and the password (2 times).
    That's it...

  • Issue with SOAP receiver

    Hi,
    I'm using PI 7.0, SP13 and I'm sending a message to a MS webservice, using BURP as a proxy in between to avoid NTLM authorisation issues.
    The problem is that it's perfecly possible to send a message using soapUI, but sending the exact same message ends up in an error:
    "SOAP: error occured: com.sap.aii.af.ra.ms.api.RecoverableException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request"
    I already configured the MessageTransformBean by setting the ContentType to text/xml; charset=utf-8. Here are the settings of my communication channel:
    Target URL: http://<correct URL on local network>
    User authentication: false
    Certificate authentication: false
    Proxy: BURP proxy and BURP port
    Proxy user authentication: false
    Secutiry profile: false
    Do not use SOAP envelope: false
    Keep headers: false
    Keep attachments: false
    Use encoded headers: false
    Use query string: false
    SOAP action: <correct SOAP action>
    I also played with the parameters "Do not use SOAP envelope", "Keep headers" and "Keep attachments", without any success. The only difference that I can think of is that soapUI runs on Windows, and the PI system runs on Linux.
    Ideas, anyone?

    @Baskar Gopal: I didn't generate a WSDL: I'm using the SOAP receiver to post a message to an existing webservice.
    @sdnuser: the endpoint URL is 100% correct. I also added the MessageTransformBean like I stated before.
    @Chirumamilla Sukarna: HTTP adapter doesn't work because I need the SOAP envelope.
    The payload is in both cases (soapUI and PI) the same. Here's the part that's different:
    soapUI (working part):
    POST /DynamicsNAV/WS/Rendon%20Voorburg/Codeunit/Webservice HTTP/1.0
    Accept-Encoding: gzip,deflate
    Content-Type: text/xml;charset=UTF-8
    SOAPAction: "urn:microsoft-dynamics-schemas/codeunit/Webservice:ContractorOrderInSync"
    User-Agent: Jakarta Commons-HttpClient/3.1
    Host: 192.168.1.8:7049
    Proxy-Connection: Keep-Alive
    Content-Length: 4292
    Connection: Keep-Alive
    SAP PI (not working part):
    POST /DynamicsNAV/WS/Rendon%20Voorburg/Codeunit/Webservice HTTP/1.0
    Accept: /
    Host: 192.168.1.8:7049
    User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
    Authorization: Basic aGFhZ3dvbmVuQGJpbTpRYnFyRU84IQ==
    content-id: <soap-C89FD74E68782E13E1000000C0A8E010 @ sap.com>
    Content-Type: text/xml;charset=UTF-8
    Content-Length: 4292
    SOAPACTION: "urn:microsoft-dynamics-schemas/codeunit/Webservice:ContractorOrderInSync"
    Connection: Keep-Alive
    I know the content type looks correct here, but the SOAP adapter gives an error about this nevertheless.

  • SOAP Receiver Adapter issue

    Hello there,
    I am using a SOAP receiver adapter. The URL contains the format - https://<XYZ.com>/car/soap/Sync?login=username&pass=password
    Now, if I configure the channel by using the "Configure User Authentication", the data is not getting posted at target.
    But if I provide the user id / pwd in the URL, it gets posted.
    I don't want to use the user id / pwd in the URL but at the sametime, the WS team is not ready to change the format of the URL.
    Can I use "Query String" to handle that? If yes, how? If no, what options I have?
    Thanks for your precious input and time.
    Abhi

    Thanks Suraj!
    Have you tried this:
    url : https://<XYZ.com>/car/soap/Sync
    and Configure User Authentication option set
    I haven't tried it that way. I am not sure whether that will work, as WS team told me that I am required to put in the whole URL. But thanks for your suggestion, I will give it a try that way.
    also try specifying the SOAP action as per your wsdl file
    SOAP Action is not Mandatory, so I am not using that.
    Thanks,
    Abhi

  • Error in SOAP receiver channel in Synchronous Proxy to SOAP scenario

    Hi all,
    We are experiencing an issue with a synchronous Proxy to SOAP scenario. Getting below error message in the SOAP receiver communication channel for the response message.
    SOAP: Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error encountered while executing mapping: com.sap.aii.af.service.mapping.MappingException: com.sap.aii.utilxi.misc.api.ResourceException: Could not determine mapping steps for message 1364b76e-ecbf-11e4-85f4-000023acfde6.
    We are running PI 7.4.
    Any help is appreciated.
    Thanks,
    Pushpa

    Hi,
    Seems the Receiver Webservice is not reachable. Did you try to test it using SOAP UI tool.
    1. Test a fresh message from local SOAP UI tool.
    2. Pick 3rd party WSDL file and Import in SOAP UI tool.
    3. Put some dummy data for mandatory fields
    4. Trigger it msg and ckh if you get successful / response msg.
    5. Check if firewall is open and that URL is not blocked.
    Hope it helps
    Regards,
    Azhar

  • Dynamic URL in SOAP Receiver adapter

    Hi all,
    I have a scenario where I am using a SOAP receiver adapter to send a cXML document to some vendors. I need to change the URL based on the vendor number (passed by sender SRM system). So I have created a user-defined function and used in message mapping to assign the right URL to the variable TServerLocation. But the communication channel still prompts for a static URL which appears to be a mandatory field. Even though the DynamicConfiguration tab in Message Monitoring shows that the TServerLocation was correctly assigned, the scenario does not work when I put some dummy in the static URL field like 'dummy' or '*'. Any ideas on how to make the communication channel go for the dynamic URL field and ignore the static URL field? I have already selected the'Use Adapter Specific Message attributes' and 'Variable Transport Binding' check boxes. Am I referring to the correct variable that references the target URL? Also other than the two checkboxes that I mentioned, I am not displayed anything else under "Adapter Specific Message Attributes" section in the comm. channel.
    Thanks

    James,
    I ve just been digging into SAP help, and have tried it too ... Looks like it doesnt work the way it is supposed to.
    Anotheer point i found was, in the FILE ADAPTER, when we say ADAPTER SPECIFI ATTRIBUTES , we can select the attirbutes.. This is not possible in a SOAP adapter...
    Maybe, we can only access the ADAPTER SPECIIFC ATTIRIBUTES of a SOAP adapter, but cannot set them dynamically.
    Let me know if you find something on this issue.
    Regards,
    Bhavesh

  • Soap Receiver Adapter Error. Pls advice urgent

    Hi All,
    While using Soap Receiver Adapter for synchronous communication
    *My Soap Request is:*
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns1:SendMessage xmlns:ns1="urn:MMWebSrvService">
    <strFrom>XI</strFrom>
    </ns1:SendMessage>
    *My Soap Response from server is:*
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- Inbound Message
    -->
    <tns:SendMessageResponse xmlns:tns="urn:MMWebSrvService" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <return xsi:type="xsd:int">-1</return>
    <strErrorDescription xsi:type="xsd:string">String reference not set to an instance of a String. Parameter name: s</strErrorDescription>
    </tns:SendMessageResponse>
    How to resolve the error.
    Regards

    Henry,
    Your xml message is not xsd compliant...see if you can generate a xml message using your wsdl with random values, compare that to your imcoming msg..and thats your issue..
    Hope that helps
    Regards
    Ravi Raman
    Reward points if helpful !

  • 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 Adapter - Target URL

    Hi,
    We have a web service scenario, where the Sender is a III Party Java system and PI is the middleware and ECC as our receiver system.  We have a wsdl binding generated from SOAMANAGER.  We are using the WSDL Endpoint as the Target URL in our SOAP Receiver Adapter.  The scenario works perfect with desired results.
    Now that webdispatcher comes into place for load balancing and the BASIS team has given a different URL to use in the Target URL of the SOAP Reciver Adapter.  The scenario throws the following eorr:-
    Adapter Framework caught exception: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Redirect
    Has anyone come acrossed such issues.  Looking forward for a solution.
    Thanks & Best Regards.
    Kris

    > Now that webdispatcher comes into place for load balancing and the BASIS team has given a different URL to use in the Target URL of the SOAP Reciver Adapter.  The scenario throws the following eorr:-
    >
    > Adapter Framework caught exception: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Redirect
    >
    > Has anyone come acrossed such issues.  Looking forward for a solution.
    I wonder why your basis team is not able to help you.
    It seems that the web dispatcher is not set up correctly.
    http://en.wikipedia.org/wiki/HTTP_302

  • 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

  • SOAP receiver: error HTTP 302 (Moved Temporarily)

    Dear all,
    I configured scenario where SOAP web service is consumed from SAP ABAP system via PI. The problem is in communication with the web service: the error observed in communication channels monitor for the configured SOAP receiver channel is:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Moved Temporarily: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Moved Temporarily
    The consumed web service is based on the function module developed in SAP NetWeaver 7.00 system. Endpoint for the service was then created via SOAMANAGER, generated binding's address was used as a target URL in the SOAP receiver channel.
    If the service is consumed not via PI, but tested directly from external SOAP client (I used soapUI) with the same WSDL and endpoint, the response is fine and error-free.
    Please advise possible root cause of the issue.
    My regards,
    Vadim

    Hi,
    I am working on a similar scenario where I my consuming an external web service using https protocol from PI.
    I have configured a soap receiver channel to call the target url of this web service as https://portal.xyz.org.uk/webservice_alt.
    I am getting an error HTTP 302 suggesting that PI is not able to follow the re-direction to the target URL as the service resides not on that URL but on https://portal1.xyz.org.uk/webservice_alt or https://portal2.xyz.org.uk/webservice_alt.
    This is their server fail over handling mechanism which is very common. But PI 7.0 is not able to handle this.
    So if I change the target URL on the SOAP receiver channel to  https://portal1.xyz.org.uk/web service  or  https://portal2.xyz.org.uk/webservice_alt , PI works fine without errors . But this is not the right approach because, every time the web service provider takes one of these systems down for upgrade/patching etc, they inform us and then I manually go and change the target URL to the available server on my production PI system config.
    My problem is I want to resolve this redirection error in PI. I have tried raising a call with SAP itself and they pointed out to use Axis adapter which is still not working.
    So I am here asking for help. any suggestions please from the experts?
    Thanks
    Jhansi.

  • SOAP Receiver Adapter (Asynchronous Call)

    Hi All,
    Scenario is  Proxy to Webservice asynchronous call.
    Scenario configuration is done as follows.
    1) Imported the WSDL and using as a asynchronous inbound interface.
    2) SOAP receiver channel is configured with the target URL & soapAction as given in the WSDL as (soap address & soap Action).
    3) Configured the proxy server details as required.
    SOAP channel is successfully sending the message to the application as DLVD.
    But the issue is target application  not receiving the data. What could be the reason ? I am wondering , i have tried with the external tool like Altova XML Spy & SOAP UI  sending data to the webservice & it's  working fine.
    Please suggest me if anything which can help to resolve this issue.
    Thanks
    Ashwin

    In this case you can do the following:
    1. start your tcpmon or TCPGateway, add there a listener e.g. on port 9090
    2. configure the target URL in TCPGateway for this listener
    3. configure the target URL in your XI SOAP Receiver Adapter to http://<ip of TCPGateway>:9090
    4. now execute the scenario again in XI
    (make sure XI can reach your TCP Gateway, e.g. check Proxy)
    I have used this method successfully for error tracking. In some cases it is necessary to add 2 listeners in TCPGateway and route e.g. 9090 to 9191 and from there to the end (I did not analyse why).
    Then you will be able to see what XI is really sending and you will see the full response from the partner side. You can then compare the XI request data with those which are sent via soapUI. This should give a clue about the problem.
    CSY

  • 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

  • SOAP Receiver with HTTPS(without certificate)

    Hi experts
    Receiver system not using any certificate.  Without certificate How PI can send message through HTTPS using SOAP.
    How to choose HTTPS transport protocol. (Here Target Url have Https://.....)
    Here I am using PI7.1 EHP1.
    I configured Receiver SOAP CC as
    Transport protocol as HTTP
    Taget Url https://api-demo.e-xact.com/transaction
    It will work? if not how to enable Https in SOAP receiver
    but I am getting below error In adapter
    Adapter Framework caught exception: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
    Thank you
    Srini

    Hi Srini,
    The main reasons for this error "Peer certificate rejected..." be appearing are the following:
    1. The correct server certificate could not be present in the TrustedCA keystore view of NWA. Please ensure you have done all the steps described in the URL below:
    Security Configuration at Message Level
    http://help.sap.com/saphelp_nwpi711/helpdata/EN/ea/c91141e109ef6fe10000000a1550b0/frameset.htm
    2. The server certificate chain contains expired certificate. Check for it (that was the cause for other customers as well) and if it's the case renew it or extend the validation.
    3. Some other customers have reported similar problem and mainly the problem was that the certificate chain was not in correct
    order. Basically the server certificate chain should be in order Own->Intermedite->Root. To explain in detail, if your server certificate is A which is issued by an intermediate CA B and then B's certificate is issued by the C which is the root CA (having a self signed certificate).
    Then your certificate chain contains 3 elements A->B->C. So you need to have the right order of certificate in the chain. If the order is B first followed by A followed by C, then the IAIK library used by PI cannot verify the server as trusted. Please generate the certificate in the right order and then import this certificate in the TrustedCA keystore view and try again. Please take this third steps as the principal one.
    4. If the end point of the SOAP Call(Server) is configured to accept a client certificate(mandatory), then make sure that it is configured correctly in the SOAP channel and it is also within validity period.
    (This certificate is the one which is sent to Server for Client authentication)
    As a resource, you may need to create a new SSL Server key.
    The requirement from SAP SSL client side is that the requested site has to have certificate with CN equal to the requested site.  I mean if I request URL X then the CN must be CN=X.
    In other words, the CN of the certificate has to be equal to the URL in the ftp request. This can be the IP address or the full name of the host.
    Request the url with the IP of the SSL Server and the certificate to be with CN = IP of the server.
    In any other case the SSL communication will not work.
    Regards,
    Caio

Maybe you are looking for