Reply with entire SOAP envelope.

Hello.
Can OSB reply an entire hand-written SOAP message?.
The scenario is as follows:
1. A request is done to a proxy.
2. The proxy do some work.
3. If the result is, say, "C", the Proxy does a Java Callout. This callout do some processing (black box for us) and returns a SOAP Message.
4. We have to send this message as the Proxy response.
Our proxy is a SOAP Proxy, but we can't use $body and $header and let OSB construct the resulting message.
The response has to be exactly (even whitespace) the response from the Java callout.
Is there a "replace" action for "$body/.." or something so?.
Thanks.

I think using replace action should work.
http://download.oracle.com/docs/html/E15867_01/modelingmessageflow.htm#i1080524
You may replace the complete inbound message itself (don't use route node, use only request-response pipeline and as a last action replace) or you may try replacing body and header (if required), separately.
Regards,
Anuj
Edited by: Anuj Dwivedi, TCS on Jul 20, 2010 7:04 PM

Similar Messages

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

  • Error with Do Not use SOAP envelope

    All,
    I used the do not send SOAP envelope option in the SOAP receiver adapter.
    Instead of XSLT, I used JAVA mapping to create the entire SOAP message ( Am more comfortable with Java and this is just a trial) , and this is the output of my java mapping with the SOAP envelope created,
    <i><?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Header></soap:Header><soap:Body><ns1:GetQuote xmlns:ns1="http://www.webserviceX.NET/"><ns1:symbol>SAP</ns1:symbol></ns1:GetQuote></soap:Body></soap:Envelope></i>
    Am using the STOCK Quote for testing purposes and this is the error I am getting when testing my interface,
    <i><faultstring>System.Web.Services.Protocols.SoapException: Server found request content type to be '', but expected 'text/xml'. at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.Invoke() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring></i>
    Any directions  / inputs on how to resolve this issue?
    Regards,
    Bhavesh

    Henrique,
    Tried various permutations~~ The only new error / progress seems to be for this,
    SOAPAction    "http://www.webserviceX.NET/GetQuote" 
    This is giving me an error ,
    <i>HTTP server code 400 reason Bad Request explanation <h1>Bad Request (Invalid Header Name)</h1></i>
    Also, tried by adding the Colon after SOAPAction,
    SOAPAction: "http://www.webserviceX.NET/GetQuote"
    Same error
    Final thing i guess is to make SOAPAction all small as soapaction and check if it works. Will let you know.
    Regards,
    Bhavesh

  • 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

  • Receive complete SOAP Envelope as message

    Dear all
    I have a web service that I have to consume which has a signature value in the SOAP header. In order that I can validate the signature with the message I would like to receive the complete SOAP envelope as (XML) message (<envelope>...<soap-env:header>...</soap-env:header>...<soap-env:body></soap-env:body></envelope>).
    I couldn't find a solution for this.
    Currently I use the WCF-Custom adapter to receive the multi part message (xml schemas created with svcutil) and receive the body as XML file. I also know how to access the SOAP header in the message but I would like to know if its possible to receive the
    complete envelope as message.
    Best regards
    Jerome

    Orchestration subscription includes value for BTS.MessageType context property, this mean you can't start orchestration with the soap envelope message type because the XmlDisassembler Component will discard the soap:Envelope content and the messaging engine
    will only get the soap:Body content – so at the end of the process, BTS.MessageType context property will be set to the actual message type of content under soap:Body section and the orchestration will never start with the type soap:Envelope.
    In case you need to process the entire soap:Envelope inside orchestration:
    Use PassThruReceive pipeline.
    Define message of type BTS.soap_envelope_1__1 message inside the orchestration (Message Type > schemas > from referenced assembly > Microsoft.BizTalk.GlobalPropertySchemas).
    Use Xml Document as the incoming message.
    Assign the incoming Xml Document message to the BTS.soap_envelope_1__1 message.
    Reference :
    http://pinhask.blogspot.in/2008/06/processing-soap-envelope-within-biztalk.html
    Thanks
    Abhishek

  • Access to XI SOAP envelope - How to?

    Hello there,
    Is it possible to get access and manipulate the Standard SOAP envelope headers internally used by XI? Does XI supports this functionality/customization?
    I would like to enrich/enhance the XI SOAP headers with some own context data to be used later for end-to-end monitoring outside XI.
    Thanks for your feedback.
    Cheers,
    R.

    Thanks Anupam and Jenny for your kind response.
    I am wrking on PI 7.0. I dnt want soap envelope in payload so I have already checked the 'Do not create response' button still in response message I am getting the soap envelope.
    I can use java or xslt but the the structure is not able to read the soap envelope. To read it I need to create same data structure which matches with the soap envelope.
    this is the response I am getting through webservice.
    <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <createResponse>
    <result>
    <errors>
    <message>Config Master Record Type Name value is missing</message>
    <statusCode>FIELD_CUSTOM_VALIDATION_EXCEPTION</statusCode>
    </errors>
    <id xsi:nil="true" />
    <success>false</success>
    </result>
    </createResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    And this is the wsdl structure
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:createResponse xmlns:ns0="urn:enterprise.soap.sforce.com">
       <ns0:result>
          <ns0:errors>
             <ns0:fields/>
             <ns0:message/>
             <ns0:statusCode/>
          </ns0:errors>
          <ns0:id/>
          <ns0:success/>
       </ns0:result>
    </ns0:createResponse>
    Because of the soap envelope it is not able to read it. I have to create new structure.
    Experts please help me to solve this problem.
    Regards,
    Jayesh.

  • How to create soap envelope structure

    Hello Friends,
    I am working on a RFC to webservice sync scenario.Here I am getting response from webservice in soap envelope form which is not matching with my wsdl response structure. I have tried to create the envelope structure manually  but i dint get success. Can any body guide me how to over come with it.
    (I have already checked 'Do not create soap envelop' in receiver soap addapter).
    Regards,
    jayesh.

    Thanks Anupam and Jenny for your kind response.
    I am wrking on PI 7.0. I dnt want soap envelope in payload so I have already checked the 'Do not create response' button still in response message I am getting the soap envelope.
    I can use java or xslt but the the structure is not able to read the soap envelope. To read it I need to create same data structure which matches with the soap envelope.
    this is the response I am getting through webservice.
    <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <createResponse>
    <result>
    <errors>
    <message>Config Master Record Type Name value is missing</message>
    <statusCode>FIELD_CUSTOM_VALIDATION_EXCEPTION</statusCode>
    </errors>
    <id xsi:nil="true" />
    <success>false</success>
    </result>
    </createResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    And this is the wsdl structure
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:createResponse xmlns:ns0="urn:enterprise.soap.sforce.com">
       <ns0:result>
          <ns0:errors>
             <ns0:fields/>
             <ns0:message/>
             <ns0:statusCode/>
          </ns0:errors>
          <ns0:id/>
          <ns0:success/>
       </ns0:result>
    </ns0:createResponse>
    Because of the soap envelope it is not able to read it. I have to create new structure.
    Experts please help me to solve this problem.
    Regards,
    Jayesh.

  • XSLT mapping with SOAP Envelope

    Hi
    I'm trying map SOAP response (with Envelope) to pick two values into the target. Here's the data:
    Source (with data):
    <?xml version="1.0"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <soap:Body>
              <EnumerateResponse xmlns="http://www.approva.net/BizRights/Services">
                   <EnumerateResult>
                        <TaskID>-1</TaskID>
                        <Result>FinishedSuccessfully</Result>
                        <StatusInfo/>
                   </EnumerateResult>
                   <pageObject>
                        <startIndex>0</startIndex>
                        <pageSize>10</pageSize>
                        <totalRows>1</totalRows>
                        <moreRecords>false</moreRecords>
                        <rowsReturned>1</rowsReturned>
                   </pageObject>
                   <xmlObjects>(large string of valid data in here)</xmlObjects>
              </EnumerateResponse>
         </soap:Body>
    </soap:Envelope>
    Target:
    Only need Result and xmlObjects into target.
    Mapping:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <poll_status_resp_r3>
                   <Result>
                        <xsl:value-of select="EnumerateResponse/Result"/>
                   </Result>
                   <xmlObjects>
                        <xsl:value-of select="EnumerateResponse/xmlObjects"/>
                   </xmlObjects>
              </poll_status_resp_r3>
         </xsl:template>
    </xsl:stylesheet>
    The values are not getting picked-up into the target.
    What am I missing here?
    Any help is appreciated.

    Hi,
    Save the following XSL file as RSpace.xsl
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="xml" indent="no"/>
      <xsl:template match="/|comment()|processing-instruction()">
        <xsl:copy>
          <xsl:apply-templates/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="*">
        <xsl:element name="{local-name()}">
          <xsl:apply-templates select="@*|node()"/>
        </xsl:element>
      </xsl:template>
      <xsl:template match="@*">
        <xsl:attribute name="{local-name()}">
          <xsl:value-of select="."/>
        </xsl:attribute>
      </xsl:template>
    </xsl:stylesheet>
    Zip it and import it under Imported Archive.
    In the interface mapping click "+" to add one more mapping.
    Use this XSL as first mapping and your XSL mapping as the second mapping.
    In your XSLT mapping you can use the XPath as
    "Envelope/Body/EnumerateResponse/Result".
    I mean remove the namespace and use the XPATH.
    Thanks,
    Prakash

  • Unsing RequestOneWayBean with Do Not Use SOAP Envelope

    HI All ,
    I have a requriement where Ecc is calling PI with an Asyn Proxy and PI calls a Sync Webservice and gets the Response back and sends the response back to ECC in Async manner . (Async - Sync Bridge).
    I need to call aWeb Service which required specifc SOAP  Headers . SO I have  created a Custom Structure via XSLT mapping and calling the Web Service with the Option  Do Not Use SOAP Envelope as checked . I have also used the RequestResponse Bean & ResponseOneWay Bean in the SOAP Receiver adapter to make the call from Sync to Asyn.  When I execute the Interface the response from the Web Service is  not flowing into PI .
    I am getting the error "Exception caught by adapter framework: InterfaceDetermination did not yield any actual interface" .
    Has anyone worked on the ResponseOneway Bean with parameter "Do Not Use SOAP Envelope as checked" . Can some one please help me out with this issue..
    Thanks
    Regards
    NIlesh Taunk.

    HI Eng ,
    I have not been able to accept the SOAP Fault Response. The link that you have provided above works for accepting the SOAP Fault . But in my case the SOAP Receiver Adapter has the Option "DO NOT Use SOAP Envelope " checked . So it is still not working in my case .
    I have made all the Configurations in the Receiver SOAP adapter but am unable to get the fault response back .
    Please find below the Screenshot of the Receiver SOAP Adapter.
    Im my case I am able to receive the successfull response in my Response Mappping (I have created a diff ICO for Response Message and a diff ICO for Fault Message). When a fault is received even the Fault message goes to the response mapping and it fails in the response mapping as the fault structure & the response structure do not match .
    Do we need to make some additional configuration  for the handing  faults, whn the option "DO NOT use SOAP envlope is checked" as it removed the Env from the messgaes.
    Am I missing something, would you be able to have a look.
    Thanks
    Regards
    Nilesh Taunk.

  • SOAP Envelope with user id password

    Hi Everyone,
    I want to authenticate the sender with user id/password in soap envelope. Does anybody know the xml format for SAP PI7.11.
    Regards
    Inder

    Ths for responding Baskar.
    I already provided wsdl to them. They are still asking me about how can they  can authenticate themseleve,
    Even if i am using SSL, they still need to provide userid/pswd with appluser role to be able to send data to PI. Only thing with ssl will be that everything will be encrypted.
    I dont want to switch off Basic authentication for all soap adapters. Can we switch off authentication for particular soap interface in enterprise repository.
    Is it possible that when i use ssl certificate, Pi dnt ask for any user id or password. ?
    Regards
    Inder

  • WCF request with utl_dbws how to add Header into SOAP envelope

    I’m trying to make WCF (Windows Communication Foundation) request and using for that utl_dbws package.
    After making request (calling utl_dbws.invoke) it will give error “ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException: The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect t”
    I turned on logging (utl_dbws.set_logger_level) I see that system sends standard SOAP envelope and does not have Header at all. How can I use my own SOAP envelope and/or add Header.
    All info that logging give is:
    ServiceFacotory: oracle.j2ee.ws.client.ServiceFactoryImpl@eec8c59c
    WSDL: null
    Service: oracle.j2ee.ws.client.BasicService@7c110d23
    *** Created service: -677524827 - oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@562bd0c4 ***
    ServiceProxy.get(-677524827) = oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@562bd0c4
    getOperationInfo return NULL: port={http://tempuri.org/Service/}BasicHttpBinding_Service, operation={http://tempuri.org/Service/}GetLov
    setProperty(javax.xml.rpc.soap.http.soapaction.use, true)
    setProperty(javax.xml.rpc.soap.http.soapaction.uri, http://tempuri.org/Service/GetLov)
    setProperty(javax.xml.rpc.encodingstyle.namespace.uri, http://www.w3.org/2005/08/addressing)
    setProperty(javax.xml.rpc.security.auth.username, DefaultUser)
    setProperty(javax.xml.rpc.security.auth.password, MySecretPassword)
    <GetLOV xmlns="http://tempuri.org/"> <request xmlns:d4p1="http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <d4p1:AgentCode>AGENT</d4p1:AgentCode> <d4p1:Language>ENG</d4p1:Language> <d4p1:ProcessName>test</d4p1:ProcessName> </request></GetLOV>
    Attribute 0: http://tempuri.org/: xmlns, http://tempuri.org/
    createElement(GetLOV,null,http://tempuri.org/)
    Attribute 0: http://tempuri.org/: xmlns, http://tempuri.org/
    dbwsproxy.element.node.child.0: 1, null
    dbwsproxy.add.map: d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    Attribute 0: http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request: xmlns:d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    dbwsproxy.add.map: i, http://www.w3.org/2001/XMLSchema-instance
    Attribute 1: http://www.w3.org/2001/XMLSchema-instance: xmlns:i, http://www.w3.org/2001/XMLSchema-instance
    createElement(request,null,http://tempuri.org/)
    dbwsproxy.add.soap.element.namespace: d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    Attribute 0: http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request: xmlns:d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    dbwsproxy.add.soap.element.namespace: i, http://www.w3.org/2001/XMLSchema-instance
    Attribute 1: http://www.w3.org/2001/XMLSchema-instance: xmlns:i, http://www.w3.org/2001/XMLSchema-instance
    dbwsproxy.element.node.child.0: 1, null
    dbwsproxy.lookup.map: d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    createElement(d4p1:AgentCode,null,http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request)
    dbwsproxy.text.node.child.0: 3, E01306
    dbwsproxy.element.node.child.1: 1, null
    dbwsproxy.lookup.map: d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    createElement(d4p1:Language,null,http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request)
    dbwsproxy.text.node.child.0: 3, ENG
    dbwsproxy.element.node.child.2: 1, null
    dbwsproxy.lookup.map: d4p1, http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request
    createElement(d4p1:ProcessName,null,http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request)
    dbwsproxy.text.node.child.0: 3, tesr
    request:
    <GetLOV xmlns="http://tempuri.org/">
    <request xmlns:d4p1="http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
    <d4p1:AgentCode>AGENT</d4p1:AgentCode>
    <d4p1:Language>ENG</d4p1:Language>
    <d4p1:ProcessName>test</d4p1:ProcessName>
    </request>
    </GetLOV>
    13.05.2010 14:17:28 oracle.j2ee.ws.client.ClientMessages infoAboutToInvokeCallForEndpoint
    INFO: Trying to connect to URL: https://x.y.z/WS/ Service.svc
    13.05.2010 14:17:30 oracle.j2ee.ws.client.StreamingSender _sendImpl
    FINE: StreamingSender.request:<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><GetLOV xmlns="http://tempuri.org/"><request xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d4p1="http://schemas.datacontract.org/2004/07/x.y.z.LOV.Request"><d4p1:AgentCode>AGENT</d4p1:AgentCode><d4p1:Language>ENG</d4p1:Language><d4p1:ProcessName>test</d4p1:ProcessName></request></GetLOV></env:Body></env:Envelope>
    13.05.2010 14:17:30 oracle.j2ee.ws.client.StreamingSender _sendImpl
    FINE: StreamingSender.response:<?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode><faultstring xml:lang="et-EE">The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the &lt;serviceDebug&gt; configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.</faultstring></s:Fault></s:Body></s:Envelope>
    Exception in thread "Root Thread" javax.xml.rpc.soap.SOAPFaultException: The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.
         at oracle.j2ee.ws.client.StreamingSender._raiseFault(StreamingSender.java:559)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
         at oracle.j2ee.ws.client.dii.CallInvokerImpl.directInvoke(CallInvokerImpl.java:705)
         at oracle.j2ee.ws.client.dii.BasicCall.directInvoke(BasicCall.java:692)
         at oracle.j2ee.ws.client.dii.BasicCall.invoke(BasicCall.java:598)
         at oracle.jpub.runtime.dbws.DbwsProxy$CallProxy.invokeProxy(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy$CallProxy.access$2600(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy.invokeProxy(Unknown Source)

    HTTP is HTPP... mostly.
    In other words, the application protocol is stand and specified in RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616.html)
    The exception is specific proprietary extensions.. like for example Microsoft's NTLM authentication handshake.
    The UTL_HTTP interface supports the protocol pretty well as per the protocol's specification. So using it to interact with a a web service should not be a major issue. The protocol is standard (e.g. POST command is used to supply the payload to the web service). The only real issue is formatting the payload for that as per what the web service expect. And that has nothing to do with HTTP itself - or UTL_HTTP. It is simply the delivering mechanism.
    Getting that mechanism to work is fairly easy and should not pose a problem. Instead I suggest you focus on exactly how the HTTP payload needs to look like. Does that web service expects any specific name-values in the header? What does it expect in the body? Etc.

  • Sending a SOAP Envelope with empty header

    Hey all,
    I'm contacting a BPEL Web Service from my ADF JSF application. I can send a request which starts a BPEL process, but the problem is the process wil lalways generate a fault because I can't let the Header empty. I'm always forced to enter a "ReplyTo" etc.
    Is there a way to send a SOAP envelope with an empty header? Cause in that case, the whole BPEL flow works like a charm.
    Thanks in advance,
    Stijn.

    I managed to work around it myself.
    I simply created a Java Proxy for the webservice and use that Proxy in the Application Module (create an instance of it and call the desired method). Obviously, now you can pass null value parameters to the method, while you can't do that when you use the Web Service in a Data Control.

  • Duplicate soap envelope with JRockit and not Sun JDK

    I have been installed Weblogic 10.3.6 with Sun JDK 1.6 on Windows 7 64 bit. This has worked great for a client sending in a soap request which is processed in my war as a 1.2 message. Debugging this shows the response is valid in my code, and works on Sun 1.6 fine.
    When I switched to JRockit [jrockit-jdk1.6.0_33-R28.2.4-4.1.0-windows-x64] I started to receive a duplicate soap envelope and soap body wrapped around the valid soap envelope which worked before.
    With the only change being switching to JRockit, this must be the cause of the addition of the duplicate the soap body and envelope. I searched this forum and Google and have not found a reason or solution.
    Any ideas on a solution?

    Seems to be the case that using MTOM stops this problem with JRockit. Strange but apparently true (so far).

  • SOAP Adapter: DO not use soap envelope

    Hi Guys
    I have a scenario, which calls a webservice from my ABAP Proxies, the twist in this is that SOAP request expects license info into the header of SOAP envelope, I could achive this by XSLT mapping in the receiver SOAP adapter I selected the option "Do not use SOAP envelope" and could do the call.
    Due to this the response received from the webservice is treated as payload, as shown below...
    response message payload:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Header xmlns="http://schemas.xmlsoap.org/soap/envelope/">
        <SubscriptionInfo xmlns="http://ws.strikeiron.com">
          <LicenseStatusCode>0</LicenseStatusCode>
          <LicenseStatus>Valid license key</LicenseStatus>
          <LicenseActionCode>0</LicenseActionCode>
          <LicenseAction>Decremented hit count</LicenseAction>
          <RemainingHits>18</RemainingHits>
          <Amount>0</Amount>
        </SubscriptionInfo>
      </Header>
      <soap:Body>
        <getRateResponse xmlns="CurrencyRates">
          <getRateResult>44.945</getRateResult>
        </getRateResponse>
      </soap:Body>
    </soap:Envelope>
    and when i am trying to do the response mapping, it is not able to read the value.
    Anyone having any idea, on how we could do this.
    Thanks
    Dheeraj

    Hi
    I am sorry for replying in so late, was busy with some projects.
    I got few mails and this post is cathing up again, so thought of giving the solution I followed without any adapter module or anything, simple plain XSLT mapping.
    <u><b>Integration Repository</b></u>
    1. Created data type and message type for Outbound Interface
    2. Imported the WSDL
    3. Created an XSD out of the sample response I got by calling the WSDL (this you can do from any tool available, i used the strikeiron website), pls refer below to see the XSD below, and you will have to use the message type envelope from it.
    4. Most Important step, created 2 XSLT mappings, one for request and the other for response., Pls refer below for both these mappings.
    5. did the interface mapping
    <u><b>Integration Directory</b></u>
    1. pls configure your scenario as normaly you do, and while you configure the communication channel for your soap receiver, make sure you click on the do not use soap envelop option.
    thats it done.
    <u><b>XSLT Request Mapping</b></u>
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
                   <SOAP-ENV:Header>
                        <LicenseInfo xmlns="http://ws.strikeiron.com">
                             <RegisteredUser>
                                  <UserID>xyz</UserID>
                                  <Password>xyz</Password>
                             </RegisteredUser>
                        </LicenseInfo>
                   </SOAP-ENV:Header>
                   <SOAP-ENV:Body>
                        <getConversion xmlns="CurrencyRates">
                             <FromCurrencyCode>
                                  <xsl:value-of select="//fromCurrency"/>
                             </FromCurrencyCode>
                             <ToCurrencyCode>
                                  <xsl:value-of select="//ToCurrency"/>
                             </ToCurrencyCode>
                             <Amount>1</Amount>
                        </getConversion>
                   </SOAP-ENV:Body>
              </SOAP-ENV:Envelope>
         </xsl:template>
    </xsl:stylesheet>
    <u><b>XSLT Response Mapping</b></u>
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="CurrencyRates" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <xsl:template match="/">
              <ns0:MT_Cur_res xmlns:ns0="http://www.april.in/WebService/SOAPHeader">
                   <Rate>
                        <xsl:value-of select="soap:Envelope/soap:Body/a:getConversionResponse/a:getConversionResult"/>
                   </Rate>
              </ns0:MT_Cur_res>
         </xsl:template>
    </xsl:stylesheet>
    <u><b>Webservice Response XSD</b></u>
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.strikeiron.com" xmlns:ns2="CurrencyRates">
      <xs:import namespace="CurrencyRates" schemaLocation="ns2.xsd"/>
      <xs:import namespace="http://ws.strikeiron.com" schemaLocation="ns1.xsd"/>
      <xs:element name="Envelope">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="soap:Header"/>
            <xs:element ref="soap:Body"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Header">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="ns1:SubscriptionInfo"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Body">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="ns2:getConversionResponse"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    let me know in case somebody gets stuck somewhere for this scenario.
    Take Care
    Dheeraj

  • How to capture SOAP fault when using "Do not use SOAP envelope" parameter

    Hi,
    we have a synchronous  RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
    In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
    Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the  "Do not use SOAP envelope" parameter?
    Thanks in advance!
    Stefan
    Message was edited by:
            Stefan Nilsson

    Hi Bhavesh,
    I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
    The request is successfully hittng the webservice.
    Please guide me on how to capture the paylod.
    I am using the WSDL provided by the thirdparty but sill the message is not coming into PI.

Maybe you are looking for

  • How do I make Iphone proritise answering with bluetooth rather than ringing on phone?.

    Previously, when I received a phone call in my car, the bluetooth radio would ring and then I would take the call by pushing button on steering wheel. Ever since installing latest IOS the bluetooth device connects but the phone just vibrates (doesn't

  • Can no longer play video from Canon PowerShot with QT Pro

    Don't know what's changed. I have played these videos many times before. They were taken by my son who is active duty Navy overseas, so they are important to me. The "Movie Info" from QT says the format is: 8-bit Unsigned Integer, Mono, 11.024 kHz/MJ

  • Error when deleting files from pen drive

    I have a Kingston 16 GB pen drive and everytime I drag a file from it to the trash appears the following message: The operation can't be completed because an unexpected error occurred (error code -1407). What this error means? How can I solve this?

  • Nav hover & visited links works in IE but not in Firefox, Chrome, etc.

    I created 2 side-by-side horizontal nav bars below the header tag with div tags and css.  The left nav bar uses different colors than the right one. The load, hover and visited colors all work fine in Internet Explorer.  When I test them in Firefox,

  • Create purchase order from shipment cost document

    Hi Experts, I would like to know how a purchase order type is linked to a shipment cost document so as to create purchase orders automatically when I do transfer posting to the vendor from the shipment cost document. How system automatically finds ou