SOAP response without envelope

Hi!!!
Anybody can help me please?
I send a SOAP message to a WebService and I receive a reply message.
The problem is that I can see correctly the answer using
replyMessage.writeTo(System.out);
but if I call
SOAPBody body = reply.getSOAPBody();
I have an Exception because the envelope (and obviously also the body) is null.
I have the same problem using the sample uddiping, so I think that the error is not due to the WebService...
I have Java version 1.4.2_04 and I use the JWSDP 1.6.
I have included in my classpath all the libraries copied from JWSDP installation (activation.jar;FastInfoset.jar;saaj-api.jar;mail.jar;saaj-impl.jar;jaxp-api.jar;sax.jar;dom.jar;xercesImpl.jar;xalan.jar;)
Thx in advice

I solve the problem reading the source that is inside the SOAPPart
SOAPPart lSoapPart = reply.getSOAPPart();
JAXMStreamSource source = (JAXMStreamSource)lSoapPart.getContent();
InputStream is = source.getInputStream();
byte[] toRead = new byte[is.available()];
is.read(toRead);
String toRet = new String(toRead);
In toRet there is the answer message in SOAP format...
BUT WHY there isn't an ENVELOPE part?

Similar Messages

  • Soap response with envelope

    Hi
    My PI server is able to make a soap call to the SFDC ( webservice ) ...however the response that is received within PI
    has a SOAP envelope...and hence the response mapping is going in error....because the source data type in response mapping doesnot match with the soap response ( with envelope )
      <?xml version="1.0" encoding="UTF-8" ?>
    - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
    - <soapenv:Body>
    - <upsertResponse>
    - <result>
      <created>false</created>
      <id>a0UT0000004aeaMMAQ</id>
      <success>true</success>
      </result>
      </upsertResponse>
      </soapenv:Body>
      </soapenv:Envelope>
    how do i handle this

    Hi,
    I think there is an option while configuration of SOAP adapter, where you can define, not to keep SOAP envelop. Please check the option Conversion Parameters\Do Not Use SOAP Envelope and set it as per your requirement. That might solve the problem. Here is the link which can be helpful
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
    Alternatively you need a java mapping or XSLT mapping to remove the envelop.
    Here is the java mapping code to remove SOAP envelop
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class RemoveSoapEnvelop implements StreamTransformation{
    public void execute(InputStream in, OutputStream out)
    throws StreamTransformationException {
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         Element root;
         Node p;
         NodeList l;
         int mm,n1;
         //if you need to include namespace use next two lines
         //root=docOut.createElement("ns0:upsertResponse");
         //root.setAttribute("xmlns:ns0","http://connectsystems.be/MAINFR/AccDocument");
         root=docOut.createElement("upsertResponse");
         p=docIn.getElementsByTagName("upsertResponse").item(0);
         l=p.getChildNodes();
         n1=l.getLength();
         for(mm=0;mm<n1;++mm)
              Node temp=docOut.importNode(l.item(mm),true);
              root.appendChild(temp);
         docOut.appendChild(root);
         transform.transform(new DOMSource(docOut), new StreamResult(out));
    catch(Exception e)
         e.printStackTrace();
    public void setParameter(Map arg0) {
    public static void main(String[] args) {
    try{
         RemoveSoapEnvelop genFormat=new RemoveSoapEnvelop();
         FileInputStream in=new FileInputStream("C:\\Apps\\my folder\\sdn\\sd2.xml");
         FileOutputStream out=new FileOutputStream("C:\\Apps\\my folder\\sdn\\removedEnvelop.xml");
         genFormat.execute(in,out);
    catch(Exception e)
    e.printStackTrace();
    input xml file sd2.xml
      <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
    <soapenv:Body>
    <upsertResponse>
    <result>
      <created>false</created>
      <id>a0UT0000004aeaMMAQ</id>
      <success>true</success>
      </result>
      </upsertResponse>
      </soapenv:Body>
      </soapenv:Envelope>
    Here is the output xml removedEnvelop.xml
      <?xml version="1.0" encoding="UTF-8" ?>
    <upsertResponse>
    <result>
      <created>false</created>
      <id>a0UT0000004aeaMMAQ</id>
      <success>true</success>
      </result>
      </upsertResponse>
    Helpful articles on java mapping for PI 7.1
    http://wiki.sdn.sap.com/wiki/display/XI/SampleJAVAMappingcodeusingPI7.1+API
    You can also try following XSLT mapping to get the same output as java mapping
    <xsl:stylesheet version="1.0"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    exclude-result-prefixes="SOAP-ENV">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
    <xsl:template match="/">
    <xsl:for-each select="SOAP-ENV:Envelope/SOAP-ENV:Body">     
    <upsertResponse>
    <result>
         <xsl:variable name="var" select="normalize-space(.)"></xsl:variable>
         <xsl:variable name="tokenizedSample" select="tokenize($var,' ')"/>
        <created><xsl:value-of select="$tokenizedSample[1]"/></created>
        <id><xsl:value-of select="$tokenizedSample[2]"/></id>
        <success><xsl:value-of select="$tokenizedSample[3]"/></success>
    </result>
    </upsertResponse>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    Other than these please refer to following links for further examples on the topic
    Remove SOAP-ENV tags from xml RECEIVER RESPONSE payload (XSL needed?)
    Remove SOAP Envelop using XSLT  mapping.
    Hope this helps your cause.
    regards
    Anupam

  • Axis Web Service SOAP Response without namespace

    Hi folks,
    I use the Axis Framework and eclipse to create a Webservice. I wrote a Method which returns a List of customers(complex Element). When I execute the method I get the following result:
    <soapenv:Body>
    <getAllCustomersResponse>
    <ns1:getAllCustomersReturn>
    <ns1:email>[email protected]</ns1:email>
    <ns1:id>5</ns1:id>
    <ns1:name>Hendrik</ns1:name>
    </ns1:getAllCustomersReturn>
    <ns2:getAllCustomersReturn>
    <ns2:email>[email protected]</ns1:email>
    <ns2:id>6</ns1:id>
    <ns2:name>Masen</ns1:name>
    </ns2:getAllCustomersReturn>
    </getAllCustomersResponse>
    </soapenv:Body>
    How can I configure Axis that I get the result without namespace  like this: ?
    <soapenv:Body>
    <getAllCustomersResponse>
    <getAllCustomersReturn>
    <email>[email protected]</ns1:email>
    <id>5</ns1:id>
    <name>Hendrik</ns1:name>
    </getAllCustomersReturn>
    <getAllCustomersReturn>
    <email>[email protected]</ns1:email>
    <id>6</ns1:id>
    <name>Masen</ns1:name>
    </getAllCustomersReturn>
    </getAllCustomersResponse>
    </soapenv:Body>
    Thanks for your help
    Edited by: Heno on Apr 27, 2009 1:28 AM

    I just had the same problem and solved it like this: I modified the WSDL slightly by removing the prefix from the reference to the element of the response message, as well as the "targetNamespace" in the xsd:schema segment of the WSDL. Like this, SAP is able to parse the response.
    Philippe

  • How to set XML character encoding for a SOAP response?

    Hi,
    We're using Oracle J2EE web services,
    and are quite happy with them.
    However, it's a problem that we need to have
    characters outside the standard English alphabet
    in our service responses. So far, we have not been
    able to find a way to specify what encoding to use.
    Our version (9.0.3 release) produces SOAP-responses
    without any encoding specification in the XML header.
    Any ideas?

    Hello,
    If you are using the "Paper Layout", check the Reports's "Before Report Value" property:
    Before Report Value :
    <meta http-equiv="Content-Type" content="text/html; charset=&Encoding">
    If you are using the "Web Layout", take a look to the document :
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_nls.htm#i1006142
    18.3 Specifying a Character Set in a JSP or XML File
    Regards

  • Http == SOAP without envelope

    Any comments on the assumption that SOAP is nothing but an enhancement of the HTTP protocol with an envelope? In other words what payload you can send using http receiver adapter, you can achieve the same using SOAP envelope without envelope with header?

    Hi James,
    These threads show you all the differences...
    Difference between SOAP and Http Sender
    HTPP Adatpter Vs Soap Adapter ????
    confusion using HTTP Adapter and SOAP Adapter
    Hope this solves ur query
    cheers
    Prashanth
    P.S Please mark helpful answers

  • Error handling in File - XI - SOAP scenario without BPM

    Hello!
    We have a File -> XI -> SOAP scenario without BPM. The problem is that if the Web Service sends back an error XI tries to reprocess the same message again and again instead of taking the next one.
    We do not want set the retry interval to NULL because most error cases are temporary connection problems and then also those messages would not automatically be reprocessed any more.
    We also have to use BE instead of EO, otherwise the Web Service will not return a response. But we need the response to be sure that the processing was successful. The message volume in this scenario is quite high and we do not want to use BPM only for the error handling.
    I know that from SP19 some additional adapter modules are available for async - sync scenarios without BPM. I tried to configure it like described in File - RFC - File without a BPM - Possible from SP 19. but it did not solve the problem. Does anybody have any other ideas? Thanks.
    Regards, Tanja

    Hi Tanja,
    >>>The volume is 3000 messages/day on business days and 700 messages/day during weekends but the traffic will increase in the future
    I think, you should check that out. It is assumedly only 2 days work to build a scenario:
    IDoc -> BP
    BP <-> SOAP/HTTP
    BP -> IDoc (Acknowledgement)
    In the process you need a condition branch, where you decide success or not. You need 2 Interface Mappings for filling the ALEAUD.
    Just send 1000 IDocs to the Test-XI and look to performance monitoring at Runtime Workbench, to find out, how many message will be processed in one hour. Assumedly 3000 and more per day should be possible. The advantage would be to reduce number of systems (no file system) and messages (better monitoring) and using the standard (better maintenance).
    >>>So you are suggesting I should use HTTP adapter and then add the SOAP header manually in a mapping?
    Yes, build the SOAP envelop during the mapping. Most easy is to use XSL or, if your mapping is ready, an additionsal XSL. You can put the error into the Acknowledgement to see it in ERP transaction WE02.
    Filling of ALEAUD fields:
    E1ADHDR/MESTYP: original message type
    E1ADHDR/E1STATE/DOCNUM: original IDoc number
    E1ADHDR/E1STATE/STATUS: 68 in case of error, 53 in case of success
    E1ADHDR/E1STATE/STATXT: Short description for R/3 user what has happend
    I ve done such a scenario several times. That works without any problems.
    Regards,
    Udo

  • SOAP Response with WS-Addressing elements

    Hi All,
       I have an issue with the response message of SOAP - PI - RFC Sync scenario.
    In the request of the SOAP message, we receive following header(WS-Addressing) Elements in the SOAP Header part of the envelope.
    <wsa:Action wsu:Id="wssecurity_signature_id_281" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            http://partnername/interfacedetails
    </wsa:Action>
    <wsa:MessageID wsu:Id="wssecurity_signature_id_285" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    uuid:463BF10F-0126-4000-E000-604DAC152914
    </wsa:MessageID>
    <wsa:RelatesTo wsu:Id="wssecurity_signature_id_283" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    urn:uuid:02875597AE9A49ABAB1229340545618
    </wsa:RelatesTo>
    Now the issue is the, our interface partner(who actually sends the SOAP Request), wants SOAP response containing the above WS-Addressing elements.
    Is it possible with SAP PI?. Can anybody help me with this.
    By the way, our interface( SOAP-PI-RFC Sync ) working fine. We just need these elements inside SOAP Response.
    Thanks in advance.
    Kind Regards,
    Prasad.

    Hi Prasad,
    I am not sure if the problem is solved.
    I guess you are talking about a scenario in which a non-SAP consumer sends a request to SAP ABAP provider. The consumer requests the enabling of WS-Addressing. The answer nothing is required to configure the ABAP provider, which will send back a SOAP response either with WS-A or without depending if WS-A is sent by the consumer or not. That might be the case that you can see these headers with the SXMB_MONI.
    Hope this helps.
    Regards,
    Wei

  • EncodingStyle attr not properly ns qualified in SOAP response (7.0 beta)

    It appears that BEA does not properly qualify the
    encodingStyle attribute in its SOAP response message.
    Although the document does specify an encodingStyle, the
    attribute does not come from the SOAP envelope namespace.
    In the captured response message below, encodingStyle
    should be env:encodingStyle to be correct.
    HTTP/1.0 200 OK
    Date: Thu, 28 Mar 2002 21:13:25 GMT
    Server: WebLogic WebLogic Server 7.0 beta Fri Feb 22 10:33:57 PST 2002 166852
    Content-Length: 387
    Content-Type: text/xml
    Connection: Close
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header>
    </env:Header>
    <env:Body>
    <m:buyResponse xmlns:m="http://www.bea.com/examples/Trader"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <result>
    <stockSymbol>BEAS</stockSymbol>
    <numberTraded>10</numberTraded>
    </result>
    </m:buyResponse>
    </env:Body>
    </env:Envelope>

    Hi M,
    First, I see your point (and agree), from a "pristine" point of view ;-)
    But the SOAP spec (or Note, or Comment, or whatever) actually allows this :-)
    Here's the exact paragraph:
    "A SOAP application SHOULD include the proper SOAP namespace on all elements and
    attributes defined by SOAP in messages that it generates. A SOAP application MUST
    be able to process SOAP namespaces in messages that it receives. It MUST discard
    messages that have incorrect namespaces (see section 4.4) and it MAY process SOAP
    messages without SOAP namespaces as though they had the correct SOAP namespaces."
    Kind of "Clintonian", if you know what I mean, but it is there. If your SOAP processor
    were to discard this message, one would have to assume that MAY is synonymous with
    MAY NOT :-)
    Is the glass HALF-FULL, or HALF-EMPTY?
    Anyway, I agree that the env namespace prefix OUGHT TO BE (like that, lol) added
    to the encodingStyle attribute here :-)
    Regards,
    Mike Wooten
    "M Shue" <[email protected]> wrote:
    >
    It appears that BEA does not properly qualify the
    encodingStyle attribute in its SOAP response message.
    Although the document does specify an encodingStyle, the
    attribute does not come from the SOAP envelope namespace.
    In the captured response message below, encodingStyle
    should be env:encodingStyle to be correct.
    HTTP/1.0 200 OK
    Date: Thu, 28 Mar 2002 21:13:25 GMT
    Server: WebLogic WebLogic Server 7.0 beta Fri Feb 22 10:33:57 PST 2002 166852
    Content-Length: 387
    Connection: Close
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header>
    </env:Header>
    <env:Body>
    <m:buyResponse xmlns:m="http://www.bea.com/examples/Trader"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <result>
    <stockSymbol>BEAS</stockSymbol>
    <numberTraded>10</numberTraded>
    </result>
    </m:buyResponse>
    </env:Body>
    </env:Envelope>

  • SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPT

    Hi there,
    I am trying to publish a file from SAP as web service using XI and SOAP Adapter.
    I am using ABAP proxy to get the data into XI.
    Designing and Configuration in XI has no problems because when i use File adapter the data is trasmitted to FTP server.
    But when I used SOAP Reciever adapter I am getting following error in RWB
    Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Error during parsing of SOAP header.
    <b>Scenario</b>: SAP ABAP Proxy -> XI -> WebService. Asynchronous.
    <b>SOAP</b> Receiver adaptor.
    <b>Target URL</b> http://<host>:<port number >/sap/xi/engine?type=entry&version=3.0&Sender.Service=SAPDC2653&Interface=urn:bzttest:00:hsa:test%5EOB_MI_BZT_TEST&QualityOfService=ExactlyOnce
    Do not use SOAP Envelop is checked.
    <b>SOAP Action</b> http://sap.com/xi/WebService/soap1.1
    What i am missing here? How should I solve this problem?
    Any help is appreciated,
    Thx,
    Yogi

    Say there's a bapi/rfc that you want to call on an R/3 backend (e.g. 4.6c).  On it's own, the R/3 system cannot expose the rfc/bapi as a web service, but XI can.  So in this case, the scenario would be:
    WS client -> XI -> R/3
    When XI "exposes" a web service, it is exposing a service for a receiving system (in the above example, the R/3 system).  XI itself does not provide or contain the service implementation.  When XI exposes a web service, it is always done via the <b>sender</b> soap adapter (i.e. if soap adapter is used).   Receiver soap adapter is used to call or consume an actual web service from an external application.
    Regards,
    Jin

  • Oracle ESB 10g : Blank namespace in the SOAP Response from DB adapter

    Hi All,
    I am currently working on a ESB project to route input XML file as a parameter to a DB Function.
    This Function has a input parameter of type XMLTYPE and returns VARCHAR2 values.
    I have configured the DB Adapter to invoke this function and return the result as a SOAP response.
    The WSDL of DB adapter contains XML_DATA as input and XMLMAIN as the output result.
    The ESB project works fine as expected. But in the result from DB adapter contains a blank namespace [xmlns=""] for the XMLMAIN element .
    I hereby attach the output XML.
    Please help how to remove this blank namespace from the output.
    We are using SOA Suite 10g 10.1.3.5
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/XXWEB/XMLMISCRCPTINSERTPKG/XMLMAIN/">
    <OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <XMLMAIN xmlns="">100</XMLMAIN>
    </OutputParameters>
    </env:Body>
    </env:Envelope>
    Thanks and Regards,
    Justin Michael Raj

    well..the problem is..the db adapter has it's own transaction..so the transactions fails or not.
    you're just not capable of checking if the transaction went ok...and return 'process completed ok' or when the transaction failed for some reason return 'the process aborted'.
    So you just need some extra steps for it to be able to return some response-message

  • SOAP Response error:

    HI Experts,
    Here my scenario is RFC PI SOAP synchronous interface. While sending the message from PI receiver system is expeting  SAOP envelop I added this envelop with xslt mapping. Even response message is coming with SOAP envelop I removed with Xslt.. now I am getting below error message in response:
    *Here i am not using any authoentication. it is not required..*
    In SXMB_moni:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Inbound Message
      -->
    - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 401 Unauthorized</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    In communication channel:
    Description
    23.11.2011 14:45:11.557     Information     The message was successfully received by the messaging system. Protocol: XI URL: http://r3vidci.got.volvo.net:52000/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER
    23.11.2011 14:45:11.564     Information     Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the request queue.
    23.11.2011 14:45:11.568     Information     Message successfully put into the queue.
    23.11.2011 14:45:11.572     Information     The message was successfully retrieved from the request queue.
    23.11.2011 14:45:11.573     Information     The message status was set to DLNG.
    23.11.2011 14:45:11.577     Information     Delivering to channel: SOAP_Receiver_BOSS_VID
    23.11.2011 14:45:11.577     Information     MP: entering1
    23.11.2011 14:45:11.579     Information     MP: processing local module localejbs/AF_Modules/MessageTransformBean
    23.11.2011 14:45:11.599     Information     Transform: using Transform.Class:  $identity
    23.11.2011 14:45:11.634     Information     Transform: transforming the payload ...
    23.11.2011 14:45:11.637     Information     Transform: successfully transformed
    23.11.2011 14:45:11.638     Information     MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    23.11.2011 14:45:11.676     Information     SOAP: request message entering the adapter with user J2EE_GUEST
    23.11.2011 14:45:11.695     Information     SOAP: completed the processing
    23.11.2011 14:45:11.696     Information     SOAP: continuing to response message bf2ba0ac-15e1-11e1-cc01-00000c601d4e
    23.11.2011 14:45:11.696     Error     SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 401 Unauthorized
    23.11.2011 14:45:11.698     Error     MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 401 Unauthorized
    23.11.2011 14:45:11.699     Error     Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 401 Unauthorized
    23.11.2011 14:45:11.700     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 401 Unauthorized. Setting message to status failed.23.11.2011 14:45:11.704     Error     The message status was set to FAIL.

    Hi Rajesh,
    I tried with XMLSPY.. i am able to send and get the responce witout any authentication.. I gone through vijay's blog... but i din't find any solution in that..
    one more thing.. here inteface is sending from SAP portal system > SAP ECC> SAPI--> webservice(Microsoft system). whenever Portal team sending the message to SAP they are getting below error"
    call to messaging system failed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapterFramework:GENER
    In PI I am getting below error:
    .sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 401 Unauthorized

  • 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

  • Presence of multiref tag in soap response message

    We are having a problem when we try to call a web service in PI. The web services called is provided by an Axis server.
    We tried to use the plain HTTP protocol in the definition of the communication channel as shown here:
    Adapter type: SOAP
    Transport protocol: HTTP
    Message protocol: SOAP 1.1
    Adapter engine: Central Adapter Engine
    We got the followong error response in SXMB_MONI:
    The payload shown in SXNB_MONI is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Inbound Channel Response -->
    <ns1:cedstr_obt_cle_elem_v2_Response xmlns:ns1='urn:CEDSTR' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' 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'>
    <tab_cle soapenc:arrayType='ns1:cedstr_cle_elem_v1[3]' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xsi:type='soapenc:Array'>
    <item href='#id0'/>
    <item href='#id1'/>
    <item href='#id2'/>
    </tab_cle><nb_cle xsi:type='xsd:int'>3</nb_cle><stat_elem href='#id3'/>
    <cdr href='#id4'/>
    </ns1:cedstr_obt_cle_elem_v2_Response>
    The expected payload is:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <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:Body>
    - <ns1:cedstr_obt_cle_elem_v2_Response soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:CEDSTR">
    - <tab_cle xsi:type="soapenc:Array" soapenc:arrayType="ns1:cedstr_cle_elem_v1[3]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
      <item href="#id0" />
      <item href="#id1" />
      <item href="#id2" />
      </tab_cle>
      <nb_cle xsi:type="xsd:int">3</nb_cle>
      <stat_elem href="#id3" />
      <cdr href="#id4" />
      </ns1:cedstr_obt_cle_elem_v2_Response>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">118406</id_structure_det>
      <ordinal xsi:type="xsd:int">2648545</ordinal>
      <appareil xsi:type="xsd:string">C3D1E</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">984806</id_structure_det>
      <ordinal xsi:type="xsd:int">2723425</ordinal>
      <appareil xsi:type="xsd:string">O5C3X</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">1163686</id_structure_det>
      <ordinal xsi:type="xsd:int">3144641</ordinal>
      <appareil xsi:type="xsd:string">Y0A6B</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:cedstr_stat_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns5="urn:CEDSTR">
      <tension xsi:type="xsd:string">MT</tension>
      <nb_concess xsi:type="xsd:int">0</nb_concess>
      <nb_restr xsi:type="xsd:int">0</nb_restr>
      <localisation xsi:type="xsd:string">DEVILLERS EST DE BEAUREGARD</localisation>
      <remarque xsi:type="xsd:string" />
      </multiRef>
    - <multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:utlgen_cdr" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns6="urn:CEDSTR">
      <succes xsi:type="xsd:int">1</succes>
      <code xsi:type="xsd:int">0</code>
      <message xsi:type="xsd:string" />
      </multiRef>
      </soapenv:Body>
      </soapenv:Envelope>
      </ns1:cedptr_obt_cle_di_v1_HResponse>
    What I can see is that PI seems to ignore the multiref tag in the SOAP response message. Does anybody knows if there is an issue with the mutiref tag in PI ?
    Thanks for your help.

    The SOAP adapter does not support more than one body child.
    If a SOAP message with several body childs arrive, then only the first body child is considered, all other body childs are ignored.
    Regards
    Stefan

  • Unable to write SOAP response to a file

    Hi,
      I am trying to capture SOAP response into a file using the method mentioned in the below given wiki but running into errors.
    File gets read but it doesn't get deleted and it gets processed infinitely without creating any monitoring messages.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/using%252brequest%252bresponse%252bbean%252bmodule%252bin%252bfile%252badapter
    Following is the trace from defaulttrace:
    #1.5 #005056A33969002E00003735000014A41040C0723D32A941#1236364790565#
    com.sap.engine.services.ts##com.sap.engine.services.ts#J2EE_GUEST#168484##
    test008_ZP0_117114750##672e8d50052011deafc2005056a33969#XI File2XI[CC_NTLM/BE_FILE_LOCAL/]_400304##0#0#Error#1#/System/Server#Java#ts_0021##Thread is not associated with any transaction context.##
    #1.5 #005056A33969002E00003737000014A41040C0723D32A941#1236364790565#
    com.sap.engine.services.ts##com.sap.engine.services.ts#J2EE_GUEST#168484##test008_ZP0_11711
    4750##672e8d50052011deafc2005056a33969#XI File2XI[CC_NTLM/BE_FILE_LOCAL/]_400304##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.ts.transaction.TxDemarcationException: Thread is not associated with any transaction context.
         at com.sap.engine.services.ts.transaction.TxManagerImpl.setRollbackOnly(TxManagerImpl.java:754)
         at com.sap.transaction.TxManager.setRollbackOnly(TxManager.java:382)
         at com.sap.aii.af.service.util.transaction.impl.SAPTxManagerImpl.rollback(SAPTxManagerImpl.java:109)
         at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1748)
         at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:615)
         at com.sap.aii.af.lib.scheduler.JobBroker$Worker.run(JobBroker.java:463)
         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:152)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
    Caused by: com.sap.engine.services.ts.exceptions.BaseIllegalStateException: Thread is not associated with any transaction context.
         at com.sap.engine.services.ts.jta.impl.TransactionManagerImpl.setRollbackOnly(TransactionManagerImpl.java:475)
         at com.sap.engine.services.ts.transaction.TxManagerImpl.setRollbackOnly(TxManagerImpl.java:751)
         ... 9 more
    Am not sure if this is the right approach. One other way mentioned some where else is to use the File Handler in Axis adapter but thats not working either.
    Any help is appreciated!!
    Thanks
    Kiran

    Hi!
    A part from the abov sugestions make sure even though u checked previously..
    1. Check whether your SOAP URL s correct or not which you are giving in the receiver SOAP adapter
    2. Also check you are giving the SOAP action in the receiver SOAP adatper correctly or not.
    3. Finally check the SOAP service is activei or not in SAP>BC>XI-->SOAP in ABAP stack
    4. Since FIle is only for ASYN comm and while using FILE for  sync interface you need to pass module paramters in the Sender File CC
    please go thorugh the below link and check all those parameters once again whcih contains detaled screen shots.....Ok
    [https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/file-rfc-file(Without+BPM)]
    Regarsd::
    Amar Srinivas Eli

  • Xsl/stylesheet transformation problem in soap response(usinf xmlx-tags.tld)

    Hi,
    I have problem in transforming the soap response using xmlx-tags.tld.....
    I was not able to read the <EmpName> value from the returned xml...
    The stylesheet / xsl does not return any elements if I use other then "/" in match
    attribute : <xsl:template match="/">
    here is my soap call and stylesheet in JSP:
    <x:xslt media="html">
    <x:xml>
    <ws:soap ttl="360000">
    <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>
    ... making soap call here...
    </soap:Body>
    </soap:Envelope>
    </ws:soap>
    </x:xml>
    <x:stylesheet media="html">
    <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:output method="xmll" omit-xml-declaration="no"
    doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" indent="yes" />
    <xsl:template match="GetEmpResult">
    <html>
    <body>
    Result: <B>Symbol <xsl:value-of select="EmpName"/></B>
    </body
    </html>
    </xsl:stylesheet>
    </x:stylesheet>
    </x:xslt>
    the SOAP response looks like this:
    <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>
    <GetEmpResponse xmlns="http://ws.cdyne.com/">
    <GetEmpResult>
    <EmpID>string</EmpID>
    <EmpName>string</EmpName>
    <SalAmount>decimal</SalAmount>
    <Error>boolean</Error>
    </GetEmpResult>
    </GetEmpResponse>
    </soap:Body>
    </soap:Envelope>
    I tried all the possibilities of template matches, but not succeeded....
    Can somebody help me the correct <xsl:template> to access EmpName from the above
    SOAP responses...
    regards
    Vijay

    Hi,
    Dynamic xslt are not quite supported in OSB, there are some approaches that may be helpful for your case though...
    Have a look at these...
    http://atheek.wordpress.com/2011/12/21/using-xalanevaluate-to-parametrize-xpath/
    http://beatechnologies.wordpress.com/2010/12/01/dynamic-xquery-in-oracle-service-bus/
    Let me know how you go...
    Cheers,
    Vlad

Maybe you are looking for

  • How many ipod can i have on one computer??

    Currently have a 2G 8 gig, wanna get a 3g 32 or 64gig. I want to keep my 8 gig though also for the GF to use. Can i use the same computer and Itunes account for both of these?? Thre are apps and stuff off of the 8 gig i want to use on the new one.

  • My iPod Touch 5th Generation will not sync properly

    I plug on my iPod Touch like normal and its backs up all the files, but every time I try to "sync" it, it will not sync properly. I added a few songs (not boughten off of iTunes) and they will not sync on my iPod. My iTunes is up to date and so is my

  • RMAN (DP6.0) backup failure on Oracle10g

    Hello, I am using DP6.0 with Oracle10g environment for backup. While I was able to successfully able to allocate the channels I am getting the below error message stack when the backup script is executed. Thanks RMAN> CONNECT TARGET * 2> run { 3> all

  • Mail attachment image caching problem

    Using C7-00 and Mail for Exchange with up to date software. I received two Mobile Boarding Pass emails from Lufthansa for my flights. These emails contain barcode.gif as an attachment that one can show at the gate when boarding. Now the two emails co

  • Videos, no matter type of player, Flash or otherwise, do not display in Version 12

    No matter what the source, or the type of player a video plays in, since I installed FireFox v12.0, no videos show. The screen goes black, that's it. RealPlayer doesn't work, etc. Help please!