SOAP-XML Format

Hi all,
I have a basic doubt regarding SOAP-XML format.
Why the message in XI is transformed as SOAP-XML instead of just XML. What is the advantage of using SOAP concept?
Thanks in advance.
Regards
Bhanu.

Hi,
Basically used for exchanging information in a decentralized, distributed environment
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
One typical use of SOAP attachments is
*for transporting intact, binary data
such as image files.
*For another example, your system may need to transport
XML documents to other parts of the system without the overhead of
validating them. These XML documents that do not need to conform to your
particular schema or DTD can be passed as attachments.
*By using SOAP attachments, the SOAP message body is much smaller
because it contains only a reference to the data and not the data itself.
*Using attachments can be more efficient because smaller SOAP messages are
processed more quickly than very large messages, and the translation of the
data to Java objects is reduced for attachments.
*SOAP attachments are implemented by wrapping the SOAP message and one
or more attachments in an envelope of Multipurpose Internet Mail Extensions
(MIME).
Regards,
Nutan

Similar Messages

  • Testing SOAP/ XML in ABAP  Proxy!

    Hi Experts,
                In an interview I was asked a question on abap proxy.
    In a scenerio where data from file gets into R/3 ztable through abap proxy, when data has already left XI and about to enter r/3, there is some SOAP XML format , and data can be tested/ debugged at this point. I was not sure about the exact point, but surely not the payload in SXMB_MONI.
    Can any1 tell me more about this part of Abap proxy testing.The interviewer said, this is popular testing of abap proxy scenerio .  I am also sure, I am not asking for how to debug Abap coding in the method endmethod part in SPROXY .
    Can any1 help!
    Regards,
    Arnab.

    Hi Arnab,
    In sproxy choose your interface and
    go with menu proxy---> Test interface
    follow the link which gives u step by step procedure
    XI: Debug your inbound ABAP Proxy implementation
    Regds,
    Shiva

  • Problem extracting SOAP XML payload using pl/sql

    Hi,
    I was wondering if I could get some help on extracting the address matches that are returned from the Web Service I am consuming. This is the first time I have dealt with XML and web services. I'm using Oracle 10.2.0.1.
    The response I’m getting back returns 4 address matches (shown below against n2, n4, n6 and n8) which is:
    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header/><soapenv:Body><searchResponse
    xmlns="http://ws.aplt.msi.com"><searchReturn>&lt;?xml version=&quot;1.0&quot;
    encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
    &lt;GetAddressSearchResponse
    xmlns=&quot;http://aplt.nzpost.co.nz/schemas/search&quot;&gt;
    &lt;ns1:ResponseHeader
    xmlns:ns1=&quot;http://aplt.nzpost.co.nz/schemas/common&quot;&gt;
    &lt;ns1:Errors/&gt;
    &lt;/ns1:ResponseHeader&gt;
    &lt;SearchResults SearchType=&quot;StreetAddress&quot;&gt;
    &lt;ResultRecord Type=&quot;URBAN&quot;&gt;
    &lt;ns2:AddressDetails
    xmlns:ns2=&quot;urn:nzpost:schemas:xAL:3.0&quot;&gt;
    &lt;ns2:Locality&gt;
    &lt;ns2:Name&gt;LOWER HUTT&lt;/ns2:Name&gt;
    &lt;ns2:DependentLocality&gt;
    &lt;ns2:Name&gt;WAINUIOMATA&lt;/ns2:Name&gt;
    &lt;/ns2:DependentLocality&gt;
    &lt;/ns2:Locality&gt;
    &lt;ns2:Thoroughfare&gt;
    &lt;ns2:Name&gt;MAIN ROAD&lt;/ns2:Name&gt;
    &lt;ns2:Number&gt;
    &lt;ns2:Number Type=&quot;number&quot;&gt;111&lt;/ns2:Number&gt;
    &lt;/ns2:Number&gt;
    &lt;/ns2:Thoroughfare&gt;
    &lt;ns2:Postal&gt;
    &lt;ns2:PostalCode&gt;
    &lt;ns2:Number&gt;
    &lt;ns2:Number&gt;5014&lt;/ns2:Number&gt;
    &lt;/ns2:Number&gt;
    &lt;/ns2:PostalCode&gt;
    &lt;/ns2:Postal&gt;
    &lt;/ns2:AddressDetails&gt;
    &lt;DPID&gt;494852&lt;/DPID&gt;
    &lt;Geospatial&gt;
    &lt;ns3:Point
    xmlns:ns3=&quot;http://aplt.nzpost.co.nz/schemas/common&quot;&gt;
    &lt;ns3:Coordinate&gt;174.953883,-41.271187&lt;/ns3:Coordinate&gt;
    &lt;/ns3:Point&gt;
    &lt;/Geospatial&gt;
    &lt;/ResultRecord&gt;
    &lt;ResultRecord Type=&quot;URBAN&quot;&gt;
    &lt;ns4:AddressDetails
    xmlns:ns4=&quot;urn:nzpost:schemas:xAL:3.0&quot;&gt;
    &lt;ns4:Locality&gt;
    &lt;ns4:Name&gt;UPPER HUTT&lt;/ns4:Name&gt;
    &lt;/ns4:Locality&gt;
    &lt;ns4:Thoroughfare&gt;
    &lt;ns4:Name&gt;MAIN STREET&lt;/ns4:Name&gt;
    &lt;ns4:Number&gt;
    &lt;ns4:Number
    Type=&quot;number&quot;&gt;111&lt;/ns4:Number&gt;
    &lt;ns4:Number
    Type=&quot;alpha&quot;&gt;A&lt;/ns4:Number&gt;
    &lt;/ns4:Number&gt;
    &lt;/ns4:Thoroughfare&gt;
    &lt;ns4:Postal&gt;
    &lt;ns4:PostalCode&gt;
    &lt;ns4:Number&gt;
    &lt;ns4:Number&gt;5018&lt;/ns4:Number&gt;
    &lt;/ns4:Number&gt;
    &lt;/ns4:PostalCode&gt;
    &lt;/ns4:Postal&gt;
    &lt;/ns4:AddressDetails&gt;
    &lt;DPID&gt;2697192&lt;/DPID&gt;
    &lt;Geospatial&gt;
    &lt;ns5:Point
    xmlns:ns5=&quot;http://aplt.nzpost.co.nz/schemas/common&quot;&gt;
    &lt;ns5:Coordinate&gt;175.070066,-41.124317&lt;/ns5:Coordinate&gt;
    &lt;/ns5:Point&gt;
    &lt;/Geospatial&gt;
    &lt;/ResultRecord&gt;
    &lt;ResultRecord Type=&quot;URBAN&quot;&gt;
    &lt;ns6:AddressDetails
    xmlns:ns6=&quot;urn:nzpost:schemas:xAL:3.0&quot;&gt;
    &lt;ns6:Locality&gt;
    &lt;ns6:Name&gt;WELLINGTON&lt;/ns6:Name&gt;
    &lt;ns6:DependentLocality&gt;
    &lt;ns6:Name&gt;TAWA&lt;/ns6:Name&gt;
    &lt;/ns6:DependentLocality&gt;
    &lt;/ns6:Locality&gt;
    &lt;ns6:Thoroughfare&gt;
    &lt;ns6:Name&gt;MAIN ROAD&lt;/ns6:Name&gt;
    &lt;ns6:Number&gt;
    &lt;ns6:Number Type=&quot;number&quot;&gt;111&lt;/ns6:Number&gt;
    &lt;/ns6:Number&gt;
    &lt;/ns6:Thoroughfare&gt;
    &lt;ns6:Postal&gt;
    &lt;ns6:PostalCode&gt;
    &lt;ns6:Number&gt;
    &lt;ns6:Number&gt;5028&lt;/ns6:Number&gt;
    &lt;/ns6:Number&gt;
    &lt;/ns6:PostalCode&gt;
    &lt;/ns6:Postal&gt;
    &lt;/ns6:AddressDetails&gt;
    &lt;DPID&gt;1066466&lt;/DPID&gt;
    &lt;Geospatial&gt;
    &lt;ns7:Point
    xmlns:ns7=&quot;http://aplt.nzpost.co.nz/schemas/common&quot;&gt;
    &lt;ns7:Coordinate&gt;174.824326,-41.174181&lt;/ns7:Coordinate&gt;
    &lt;/ns7:Point&gt;
    &lt;/Geospatial&gt;
    &lt;/ResultRecord&gt;
    &lt;ResultRecord Type=&quot;URBAN&quot;&gt;
    &lt;ns8:AddressDetails
    xmlns:ns8=&quot;urn:nzpost:schemas:xAL:3.0&quot;&gt;
    &lt;ns8:Locality&gt;
    &lt;ns8:Name&gt;WELLINGTON&lt;/ns8:Name&gt;
    &lt;ns8:DependentLocality&gt;
    &lt;ns8:Name&gt;KARORI&lt;/ns8:Name&gt;
    &lt;/ns8:DependentLocality&gt;
    &lt;/ns8:Locality&gt;
    &lt;ns8:Thoroughfare&gt;
    &lt;ns8:Name&gt;MAKARA ROAD&lt;/ns8:Name&gt;
    &lt;ns8:Number&gt;
    &lt;ns8:Number Type=&quot;number&quot;&gt;111&lt;/ns8:Number&gt;
    &lt;/ns8:Number&gt;
    &lt;/ns8:Thoroughfare&gt;
    &lt;ns8:Postal&gt;
    &lt;ns8:PostalCode&gt;
    &lt;ns8:Number&gt;
    &lt;ns8:Number&gt;6012&lt;/ns8:Number&gt;
    &lt;/ns8:Number&gt;
    &lt;/ns8:PostalCode&gt;
    &lt;/ns8:Postal&gt;
    &lt;/ns8:AddressDetails&gt;
    &lt;Geospatial&gt;
    &lt;ns9:Point
    xmlns:ns9=&quot;http://aplt.nzpost.co.nz/schemas/common&quot;&gt;
    &lt;ns9:Coordinate&gt;174.717753 , -41.284415&lt;/ns9:Coordinate&gt;
    &lt;/ns9:Point&gt;
    &lt;/Geospatial&gt;
    &lt;/ResultRecord&gt;
    &lt;/SearchResults&gt;
    &lt;/GetAddressSearchResponse&gt;
    </searchReturn></searchResponse></soapenv:
    Body></soapenv:Envelope>
    My cursor that gets any errors returned appears ok. This is:
    CURSOR c_xml_err(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
    SELECT extract(value(xmlseq), '/Errors' , i_xmlns) vi_errors
    ,extract(value(xmlseq), '/Warnings' , i_xmlns) vi_warnings
    FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/ns1:ResponseHeader' , i_xmlns))) xmlseq;
    i_xml that is passed in is an XMLType converted from a CLOB which is the response from the web service:
    v_xml_response := XMLType(i_response);
    i_response is the SOAP package above with the following done on it:
    -- Strip the unnecessary SOAP XML envelope from the response
    v_xml_resp := XMLType.createXml(o_response);
    i_response := v_xml_resp.extract('/soap:Envelope/soap:Body/child::node()'
    ,'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"').getClobVal();
    i_response is defined with a type of CLOB.
    i_xmlns that is passed in is: 'xmlns:ns1="' || i_xml_namespace || '"' where i_xml_namespace is: http://aplt.nzpost.co.nz/schemas/search
    My cursor that tries to get the address details returned is:
    CURSOR c_xml(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
    SELECT extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostBox.Number/text()' , i_xmlns).getNumberVal() box#
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Thoroughfare.Number/text()' , i_xmlns).getStringVal() street_number
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Thoroughfare.Name/text()' , i_xmlns).getStringVal() street_name
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Locality.DependentLocality.Name/text()' , i_xmlns).getStringVal() suburb
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Locality.Name/text()' , i_xmlns).getStringVal() town_city
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostalCode.Number/text()' , i_xmlns).getStringVal() post_code
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostOffice.Name/text()' , i_xmlns).getStringVal() box_lobby_name
    ,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostRoute.Name/text()' , i_xmlns).getStringVal() rd_number
    FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/SearchResults' , i_xmlns))) xmlseq;
    This is not correct because it doesn’t select anything. The i_xml parameter passed in is the same as above however the i_xmlns parameter that is passed into this cursor is different. It’s currently passed in as:
    'xmlns:ns2="urn:nzpost:schemas:xAL:3.0"'
    Which matches what is returned in the soap message (first the first address match returned):
    &lt;ResultRecord Type=&quot;URBAN&quot;&gt;
    &lt;ns2:AddressDetails
    xmlns:ns2=&quot;urn:nzpost:schemas:xAL:3.0&quot;&gt;
    I'm calling this cursor in loop as follows:
    for r_cu in c_xml(v_xml_response, v_xml_namespace)
    loop
    dbms_output.put_line('***** test12 - ws_avs_clients - IN LOOP - delete/insert nzp23_address');
    Nothing gets returned.
    Firstly, I’m not sure how to cater for n2, n3, n4, n5, etc which are the namespaces returned and incremented for each address match.
    I’m also wondering if my cursor should be changed to something like:
    CURSOR c_xml(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
    SELECT extract(value(xmlseq), '/Postal.PostBox.Number/text()' , i_xmlns).getNumberVal() box#
    ,extract(value(xmlseq), '/Thoroughfare.Number/text()' , i_xmlns).getStringVal() street_number
    ,extract(value(xmlseq), '/Thoroughfare.Name/text()' , i_xmlns).getStringVal() street_name
    ,extract(value(xmlseq), '/Locality.DependentLocality.Name/text()' , i_xmlns).getStringVal() suburb
    ,extract(value(xmlseq), '/Locality.Name/text()' , i_xmlns).getStringVal() town_city
    ,extract(value(xmlseq), '/Postal.PostalCode.Number/text()' , i_xmlns).getStringVal() post_code
    ,extract(value(xmlseq), '/Postal.PostOffice.Name/text()' , i_xmlns).getStringVal() box_lobby_name
    ,extract(value(xmlseq), '/Postal.PostRoute.Name/text()' , i_xmlns).getStringVal() rd_number
    FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/SearchResults/ResultRecord/ns2:AddressDetails' , i_xmlns))) xmlseq;
    However I couldn’t have the ns2: before “AddressDetails” because this gets incremented. I don’t think I can also have the i_xmlns namespace parameter passed in as 'xmlns:ns2="urn:nzpost:schemas:xAL:3.0"'
    because the ns2 gets incremented for each address.
    I'm looking for any examples of pl/sql code that extracts the addresses from the SOAP message returned like I’m trying to do?
    Any help would be much appreciated.
    Thanks,
    Brad

    You can find some examples in both the {forum:id=34} and {forum:id=75} forums. Just search on soap:Envelope or soap:Body and you should get some hits back.
    Since you are using 10.2, you will want to use XMLTable instead of TABLE(xmlSequence(extract as XMLTable is the direction Oracle is going. As for ns2:, ns4: it doesn't matter what namespace prefix you use in your XPath statement as long as all the prefixes resolve to the same namespace.
    Here is a starter piece of code that puts all that together for you.
    SELECT town_city, peeking
      FROM XMLTABLE(XMLNamespaces(default 'http://aplt.nzpost.co.nz/schemas/search',
                                  'urn:nzpost:schemas:xAL:3.0' as "adns"),
                    '/GetAddressSearchResponse/SearchResults/ResultRecord/adns:AddressDetails'
                    PASSING XMLTYPE('<GetAddressSearchResponse xmlns="http://aplt.nzpost.co.nz/schemas/search">
       <SearchResults SearchType="StreetAddress">
          <ResultRecord Type="URBAN">
             <ns2:AddressDetails xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
                <ns2:Locality>
                   <ns2:Name>LOWER HUTT</ns2:Name>
                </ns2:Locality>
             </ns2:AddressDetails>
              </ResultRecord>
              <ResultRecord Type="URBAN">
                   <ns4:AddressDetails xmlns:ns4="urn:nzpost:schemas:xAL:3.0">
                        <ns4:Locality>
                             <ns4:Name>UPPER HUTT</ns4:Name>
                        </ns4:Locality>
                   </ns4:AddressDetails>
              </ResultRecord>
         </SearchResults>
    </GetAddressSearchResponse>')
                    -- The above XMLType would be your variable instead of what is hard-coded
                    COLUMNS
                    town_city   VARCHAR2(30)  PATH '/adns:AddressDetails/adns:Locality/adns:Name',
                    peeking     XMLTYPE       PATH '.');  -- This var is just to show you what each iteration is working with.You can also assign a namespace prefix to one of the default namespaces if your XPath goes across multiple "default" namespaces.
    SELECT town_city, peeking
      FROM XMLTABLE(XMLNamespaces('http://aplt.nzpost.co.nz/schemas/search' as "def",  -- made up this prefix
                                  'urn:nzpost:schemas:xAL:3.0' as "adns"),
                    '/def:GetAddressSearchResponse/def:SearchResults/def:ResultRecord/adns:AddressDetails'
                    PASSING XMLTYPE('<GetAddressSearchResponse xmlns="http://aplt.nzpost.co.nz/schemas/search">
       <SearchResults SearchType="StreetAddress">
          <ResultRecord Type="URBAN">
             <ns2:AddressDetails xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
                <ns2:Locality>
                   <ns2:Name>LOWER HUTT</ns2:Name>
                </ns2:Locality>
             </ns2:AddressDetails>
              </ResultRecord>
              <ResultRecord Type="URBAN">
                   <ns4:AddressDetails xmlns:ns4="urn:nzpost:schemas:xAL:3.0">
                        <ns4:Locality>
                             <ns4:Name>UPPER HUTT</ns4:Name>
                        </ns4:Locality>
                   </ns4:AddressDetails>
              </ResultRecord>
         </SearchResults>
    </GetAddressSearchResponse>')
                    -- The above XMLType would be your variable instead of what is hard-coded
                    COLUMNS
                    town_city   VARCHAR2(30)  PATH '/adns:AddressDetails/adns:Locality/adns:Name',
                    peeking     XMLTYPE       PATH '.');  -- This var is just to show you what each iteration is working with.Hope that helps as a starter to working on your problem.
    If you follow the FAQ link in the above right, you will see how to use the { code } tag (without spaces) to wrap the examples and retain formatting as shown above.

  • Unsupported Content-Type: application/soap+xml

    I've created a simple composite application with a bpel jbi module using glassfishesbv21.
    The bpel process starts when I invoke a webservice (soap-binding).
    When I run a test case for the ca everything works fine.
    When I call the webservice from an external web application, the client (created with netbeans wizard bundled in glassfishesbv21) obtains the response as expected and doesn't report any exception while the server rises a com.sun.xml.ws.server.UnsupportedMediaException.
    Googoling I found that this maybe caused by the use of soap1.1 and soap1.2 but is also true that JAX-WS runtime should look into the WSDL to determine the binding being used and configures itself accordingly.
    the stacktrace is:
    Finished processing outbound messages.
    Request doesnt have a Content-Type
    com.sun.xml.ws.server.UnsupportedMediaException: Request doesnt have a Content-Type
    at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:267)
    at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:276)
    at com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:341)
    at com.sun.jbi.httpsoapbc.embedded.JAXWSGrizzlyRequestProcessor.processAsynchRequest(JAXWSGrizzlyRequestProcessor.java:386)
    at com.sun.jbi.httpsoapbc.embedded.JAXWSGrizzlyRequestProcessor.service(JAXWSGrizzlyRequestProcessor.java:220)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
    at com.sun.jbi.httpsoapbc.embedded.JBIGrizzlyAsyncFilter.doFilter(JBIGrizzlyAsyncFilter.java:95)
    at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:175)
    at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:153)
    at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
    at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
    Unsupported Content-Type: application/soap+xml Supported ones are: [text/xml]
    com.sun.xml.ws.server.UnsupportedMediaException: Unsupported Content-Type: application/soap+xml Supported ones are: [text/xml]
    at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:291)
    at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:128)
    ====[com.sun.xml.ws.assembler.server:request]====
    <?xml version="1.0" ?>
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <soap-env:Header>
    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action>
    <wsa:To>http://localhost:19081/coreAnagrafeUpdateService/coreAnagrafeUpdatePort</wsa:To>
    <wsa:ReplyTo>
    <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:MessageID>uuid:778b135f-3fdf-44b2-b53e-ebaab7441e40</wsa:MessageID>
    </soap-env:Header>
    <soap-env:Body></soap-env:Body>
    </soap-env:Envelope>
    ============
    ====[com.sun.xml.ws.assembler.server:response]====
    <?xml version="1.0" ?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <S:Fault xmlns:ns3="http://www.w3.org/2003/05/soap-envelope" xmlns="">
    <faultcode>S:Server</faultcode>
    <faultstring>javax.jbi.messaging.MessagingException: HTTPBC-E00798: Message normalization failed</faultstring>
    </S:Fault>
    </S:Body>
    </S:Envelope>
    ============
    Unsupported Content-Type: application/soap+xml Supported ones are: [text/xml]
    com.sun.xml.ws.server.UnsupportedMediaException: Unsupported Content-Type: application/soap+xml Supported ones are: [text/xml]
    at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:291)
    at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:128)
    at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:287)
    ====[com.sun.xml.ws.assembler.server:request]====
    <?xml version="1.0" ?>
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <soap-env:Header>
    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action>
    <wsa:To>http://localhost:19081/coreAnagrafeUpdateService/coreAnagrafeUpdatePort/mex</wsa:To>
    <wsa:ReplyTo>
    <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:MessageID>uuid:778b135f-3fdf-44b2-b53e-ebaab7441e40</wsa:MessageID>
    </soap-env:Header>
    <soap-env:Body></soap-env:Body>
    </soap-env:Envelope>
    ============
    the wsdl is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <definitions name="coreAnagrafeUpdateService"
    targetNamespace="http://service.box.nexus.com/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://service.box.nexus.com/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <types>
         <xsd:schema>
    <xsd:import namespace="http://service.box.nexus.com/" schemaLocation="core_anagrafe.xsd"/>
    </xsd:schema>
    </types>
    <message name="coreAnagrafeUpdateOperationRequest">
    <part name="parameters" element="tns:requestParameter"/>
    </message>
    <message name="coreAnagrafeUpdateOperationResponse">
    <part name="parameters" element="tns:coreAnagrafeResponse"/>
    </message>
    <message name="coreAnagrafeUpdateOperationFault">
    <part name="part1" element="tns:faultMessage"/>
    </message>
    <portType name="coreAnagrafeUpdatePortType">
    <operation name="coreAnagrafeUpdateOperation">
    <input message="tns:coreAnagrafeUpdateOperationRequest"/>
    <output message="tns:coreAnagrafeUpdateOperationResponse"/>
    <wsdl:fault name="fault1" message="tns:coreAnagrafeUpdateOperationFault"/>
    </operation>
    </portType>
    <binding name="coreAnagrafeUpdateBinding" type="tns:coreAnagrafeUpdatePortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="coreAnagrafeUpdateOperation">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal" />
    </input>
    <output>
    <soap:body use="literal" />
    </output>
    <wsdl:fault name="fault1">
    <soap:fault use="literal" name="fault1"/>
    </wsdl:fault>
    </operation>
    </binding>
    <service name="coreAnagrafeUpdateService">
    <port name="coreAnagrafeUpdatePort" binding="tns:coreAnagrafeUpdateBinding">
    <soap:address location="http://localhost:19081/coreAnagrafeUpdateService/coreAnagrafeUpdatePort"/>
    </port>
    </service>
    </definitions>
    Can anyone help me to understand the problem and solve it?
    Thanks in advance.

    Hi,
    Content-Type: application/xml
    ...check for the content type of the message that is sent ot the WS.....with the above mentioned content-type going to the WS currently...WS is not able to parse the req and hence the error....in other words wrong format being being passed.
    Regards,
    ABhishek.

  • How to map data in xml format to BAPIs tructures?

    A webservice call to an external system from XI, is returning data to XI in xml format.
    This needs to be formatted to map to the structure of BAPI from SAP.
    I searched and found several threads pointing to do transformations.
    But I am not sure where to start. So this thread is being posted.
    Please help.
    Thanks,
    Ven

    The thing is my data is being retrieved from webservice call a bit different.
    here is the sample data that I need to map to two structures of BAPI - Housinginfo, Houseresponsersults.
      <?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">
    - <soap:Body>
    - <GetResidentsResponse xmlns="http://empur.org/XLSWebSvc/XLS_Interface">
    - <GetResidentsResult>
    - <Residents xmlns="">
    - <Resident LastName="Xyz" FirstName="Abced" MiddleInitial="T" STX="1234567" Houseid="45622" SubDivName="xyz homes">
    - <Houses HousesName="villa ben" HousesId="1550" HousesStatus="P" HousesStatusDate="09/22/2009 15:26:54" HousesScore="90">
      <Street StreetCode="2538" StreetName="Victoria" StreetStatus="c" StreetStatusDate="09/22/2009 12:25:38" />
    - <Street StreetCode="2539" StreetName="Vicotria Ln" StreetStatus="p" StreetStatusDate="09/22/2009 15:26:54" StreetScore="90" ProctorID="3572" OwnerName="DONNA Perl">
      <HomeInteractions HomeNum="25873" ResidentResp="C" LayoutLawn="C" Judged="c" />
      <HomeInteractions HomeNum="25884" ResidentResp="B" LayoutLawn="B" Judged="c" />
      <HomeInteractions HomeNum="25896" ResidentResp="B" LayoutLawn="B" Judged="c" />
      <HomeInteractions HomeNum="25918" ResidentResp="D" LayoutLawn="D" Judged="c" />
      <HomeInteractions HomeNum="25919" ResidentResp="D" LayoutLawn="D" Judged="c" />
      <HomeInteractions HomeNum="25924" ResidentResp="A" LayoutLawn="A" Judged="c" />
      <HomeInteractions HomeNum="25948" ResidentResp="t" LayoutLawn="t" Judged="c" />
      <HomeInteractions HomeNum="25952" ResidentResp="C" LayoutLawn="A" Judged="w" />
      <HomeInteractions HomeNum="25953" ResidentResp="C" LayoutLawn="C" Judged="c" />
      <HomeInteractions HomeNum="25954" ResidentResp="D" LayoutLawn="D" Judged="c" />
      </Street>
      </Houses>
      </Resident>
      </Residents>
      </GetResidentsResult>
      </GetResidentsResponse>
      </soap:Body>
      </soap:Envelope>

  • JAXM: SOAP evelope format

    My web service requests a soap envelope like the one below:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <Email xmlns="http://ivan2/Webapplication1">
    <Cognome>Crosignani</Cognome>
    </Email>
    </soap:Body>
    </soap:Envelope>
    but with JAXM I send a different xml format:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header/>
    <soap-env:Body>
    <Email xmlns="http://ivan2/Webapplication1">
    <Cognome>Crosignani</Cognome>
    </soap-env:Body>
    </soap-env:Envelope>
    This difference cause that I get no answer from my web service.
    Why there is this difference and why my soap envelope is not campatible
    with the requested one
    Thanks.
    Ivan

    Go to the following URL and click on the Chapter 13 tutorial. It should have some very helpful information on how to format your SOAP message.
    http://java.sun.com/webservices/docs/1.2/tutorial/doc/index.html
    Hope that helps.
    Gabsaga

  • Saving the query result in XML format

    Hi All,
    I have a requirement to save the result of a query in XML format on the application server. Can we do this?
    Best Rgds,
    James.

    You can explore the possibility of the execution of query with XMLA:
    Official documentation
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1d71d190-0201-0010-239a-8b96516bf372
    and a good Blog
    /people/prakash.darji/blog/2006/09/04/work-with-xmla-web-service-for-bi-data-in-external-applications
    The result will be an SOAP message (XML) but also the request could be a SOAP message you can investigate if simulate the request by BW client or server.
    Regards,
    Sergio

  • XML format for input to BPEL process from client stub

    Hi,
    I have deployed SyncHelloWorld BPEL process as given in the tutorial in the BPEL Server. It is working fine. Now I am trying to invoke the process by creating a Java client stub . I created a stub using the Web-services wizard by specifying the WSDL of the BPEL. Now I want to know how to pass some string through XML document to the BPEL process.
    I am using this code in the main method of the stub., but the value is not being passed to the BPEL nodes correctly. the output I am getting is "Hello "
    and not "Hello XYZString". I think I am not able to form the XML document to pass as input correctly. Can anyone help.
    Can anyone please help :
    public static void main(String[] args)
    try
    SyncHelloWorldStub stub = new SyncHelloWorldStub();
    // Add your own code here.
    // Create an empty XML document
    XMLDocument doc = new XMLDocument();
    // Create an element
    Element body = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "SyncHelloWorldProcessRequest");
    // Create the inner element
    Element ip = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "input");
    // Create a text node
    Text text = doc.createTextNode("input");
    // Set the input parameter
    text.setNodeValue("XYZString");
    ip.appendChild(text);
    body.appendChild(ip);
    // Call the process. It returns a vector
    Vector v = stub.process(body);
    // Code to print the returned xml.
    System.out.println("Received " + v.size() + " element");
    Enumeration enum = v.elements();
    // Walk through the vector and print out contents
    while (enum.hasMoreElements())
    Object o = enum.nextElement();
    System.out.println("Returned a " + o.getClass().getName());
    //If it is an element, print it out
    if (o instanceof XMLElement)
    XMLElement xml = (XMLElement)o;
    xml.print(System.out);
    else
    System.out.println("Returned " + o.toString());
    System.out.println("After executing : "+v.toString());
    catch(Exception ex)
    ex.printStackTrace();
    This is the code for WSDL file for the BPEL process.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="SyncHelloWorld" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SyncHelloWorld" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SyncHelloWorld">
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://www.w3.org/2001/XMLSchema">
    - <element name="SyncHelloWorldProcessRequest">
    - <complexType>
    - <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    - <element name="SyncHelloWorldProcessResponse">
    - <complexType>
    - <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    - <message name="SyncHelloWorldRequestMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessRequest" />
    </message>
    - <message name="SyncHelloWorldResponseMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessResponse" />
    </message>
    - <portType name="SyncHelloWorld">
    - <operation name="process">
    <input message="tns:SyncHelloWorldRequestMessage" />
    <output message="tns:SyncHelloWorldResponseMessage" />
    </operation>
    </portType>
    - <binding name="SyncHelloWorldBinding" type="tns:SyncHelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="process">
    <soap:operation style="document" soapAction="process" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="SyncHelloWorld">
    - <port name="SyncHelloWorldPort" binding="tns:SyncHelloWorldBinding">
    <soap:address location="http://cisoidd001.corporate.ge.com:5843/orabpel/default/SyncHelloWorld/v2006_06_19__40924" />
    </port>
    </service>
    - <plnk:partnerLinkType name="SyncHelloWorld">
    - <plnk:role name="SyncHelloWorldProvider">
    <plnk:portType name="tns:SyncHelloWorld" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Also, while running the BPEL process from console, we can give the input as html or string. Can anyone give the me xml format of the input.
    Any help would be highly appreciated.
    Thanks,
    Debojyoty

    Your last question shows that you might have solved this by now.
    The xml document you are composing in java might not exactly be the xml input bpel excepts. The way to compare is first initiate a process by posting an html message, using the initiate tab for your process in the BPEL console. Check the box "Save as default input" before you send the html request.
    Then again do an initiate from the BPEL console and select "XML Source" instead of "HTML Form". You will see the xml message you just have sent as html.
    You might also want to test your java program with one of the many free soap clients available on the internet.
    HTH,
    Ruerd
    http://www.numericalexample.com

  • OWSM 10.1.3.4 and Non-SOAP XML-based web service

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • I am creating a form on LiveCycle Designer and I am trying to create a form that has a e-mail submit button.  When the butten is utilized it attaches the form to the e-mail in an plain text .xml format rather than the pdf format.  Is there a quick fix?

    I am creating a form on LiveCycle Designer and I am trying to create a form that has a e-mail submit button.  When the button is utilized it attaches the form to the e-mail in an plain text .xml format rather than the pdf format.  Is there a quick fix?

    Hi,
    You have the choice between xml or pdf, in later versions of designer you can choose with a dropdown on the email button Object palette, the "Submit As";
    In earlier version you had to edit the XML Source and change the format from xml to pdf (or vice-versa);
    Regards
    Bruce

  • How to generate Campaign details in XML format for sending to downstream sy

    Dear gurus,
    we have a requirement to send the Campaign details from CRM to some Downstream system in the XML format through PI interfaces. We want to include the following campaign details in the structure.
    <SAPTOAL DATE="03-MAR-2011" TIME="13:25pm">
          <CAMPAIGN>
                <ID></ID>
                <NAME></NAME>
                <RUNDATE></RUNDATE>
                <RUNTIME></RUNTIME>
                <STARTDATE></STARTDATE>
                <ENDDATE></ENDDATE>
                <RECORDCOUNT></RECORDCOUNT>
          </CAMPAIGN>
          <TARGETGROUP>
                <ID></ID>
                <NAME></NAME>
    </TARGETGROUP>
          <BUSINESSPARTNERS>
                <BUSINESSPARTNER>
                      <ID>001</ID>
                <TARGETGROUPID></TARGETGROUPID>
                <FIRSTNAME></FIRSTNAME>
                      <LASTNAME></LASTNAME>
                      <TITLE></TITLE>
                      <SUFFIX></SUFFIX>
                      <EMAIL></EMAIL>
                      <REPFIRSTNAME></REPFIRSTNAME>
                      <REPLASTNAME></REPLASTNAME>
                      <REPPHONE></REPPHONE>
                      <REPSIGNATUREURL></REPSIGNATUREURL>
                      <REPPICTUREURL></REPPICTUREURL>
                      <REPEMAIL></REPEMAIL>
                </BUSINESSPARTNER>
                <BUSINESSPARTNER>
                      <ID>002</ID>
                <TARGETGROUPID></TARGETGROUPID>
                      <FIRSTNAME></FIRSTNAME>
                      <LASTNAME></LASTNAME>
                      <TITLE></TITLE>
                      <SUFFIX></SUFFIX>
                      <EMAIL></EMAIL>
                      <REPFIRSTNAME></REPFIRSTNAME>
                      <REPLASTNAME></REPLASTNAME>
                      <REPPHONE></REPPHONE>
                      <REPSIGNATUREURL></REPSIGNATUREURL>
                      <REPPICTUREURL></REPPICTUREURL>
                      <REPEMAIL></REPEMAIL>
                </BUSINESSPARTNER>
          </BUSINESSPARTNERS>
    </SAPTOAL>
    We have already tried the following things in SPRO.
    CRM --> Marketing --> Marketing Planning and Campaign Management --> Campaign Execution --> Define File Export Variants
    But with this we were not able to get the full XML structure, as required above. We got only this much.
    <?xml version="1.0" encoding="utf-8" ?>
    <DATA>
    <ITEM>
       <Field_1>Test Email.</Field_1>
       <Field_2>Test Email.</Field_2>
       <Field_3>ABC Company.</Field_31>
    </ITEM>
    </DATA>
    Any pointers or help on this will he greatly appreciated.rgrds,
    Randhir Soni

    Hi Prabhu,
    The program SAPFPAYM generates the payment Medium  on the basis of your configuration and background settings, this program does not bydefault give the output in the XML.
    Varient creation for the PMW in T. Code OBPM4, use the same program, which i already done it, even without this it is not be possible to create any payment Medium.
    Regards,
    Rony

  • Concurrent request submission displays Output in xml format ?

    Hi ,
    I am submitting a concurrent request from workflow which is an xml publisher report . my problem when the program is run individually it displays the output correctly in rtf format but when the same request is submitted from worklfow the output comes in xml format ?
    What could be the problem ?
    I am using the standard submission "FND_WF_STANDARD.SUBMITCONCPROGRAM " program and assigning the values directly to it . the submission activity is working fine but the output comes as mentioned above.
    Regards,
    Skg

    Kiran ,
    I am not using fnd_request.submit request coc I don't need to capture the user information for my workflow .
    I am only using the standard " FND_WF_STANDARD.SUBMITCONCPROGRAM " . this Package only submits the concurrent program through workflow in a function.
    no need of backend programming.
    My job is to submit and move to the next function . the output will be determined via custom profile option.
    now, for this package I am directly assigning the values like appshort name , prog shrt name , and parameter.
    there is no mention of layouts anywhere in the standard workflow package .
    its very urgent for me friend.
    Regards,
    Shashank.

  • Problem with getting a D2K report in XML format

    Hi all,
    Could any body give a solution for this problem.
    I have a matrix report like following:
    Q_Statement_Of_Net_Assets ----> main query
    |
    G_Cross ----> Cross product
    | CS_VALUE
    | CS_NET_ASSET
    | CF_COSTI
    |
    | --------------------------------- |
    | | G_CTIF | | ------> Like this I have two more groups
    | --------------------------------- |
    ...... |
    -----------------------------------------------|
    My requirement is i want to print CS_VALUE, CS_NET_ASSET, CF_COSTI values in XML report, these values i am getting in a Normal/RTF format reports.
    But i am not getting in XML format report.
    thanks in advance.
    Vasu

    Thanks Schellyc
    actually I want to creat a new SOAPMessage for the very beginning like this:
    try{
                MessageFactory mf = MessageFactory.newInstance();
                SOAPMessage msg = mf.createMessage();
                SOAPPart sp = msg.getSOAPPart();
                //create the header container
                SOAPEnvelope se = sp.getEnvelope();
                SOAPHeader sh = se.getHeader();
                SOAPBody sb = se.getBody();
            }catch(Throwable e) {
                e.printStackTrace();
            }and I want to get the empty header from this newly created SOAPEnvelop and add my own content into the header as well as the empty body.
    I wrote the code by following the example from the jaxm api.
    can anybody tell me any further information about the NullPointerException?

  • Data is not converting in XML format in output while download in report

    Hi All,     While downloading the report in XML format value '&' is not changing its XML format '&amp', but showing in debug mode and sam thing while download its not showing in output. showing in debug like; MS NA - DCS Tooling & Automation but in output showing the data like:  MS NA - DCS Tooling & Automation because of this getting issue. Please help me out . Thanks and Regards Sankil

    In that case, it is correct.
    Try replacing & with &amp; before downloading xml in case you want & to appear as &amp; in web browser view.

  • How can I convert IDoc in XML format w/DTD into a string?

    I want to send by e-mail outbound IDoc in XML format with its document type definition (DTD).
    I want to be able to get the same output result into a string than the XML file IDoc port type with DTD activated.  I have created a FM (based on SAP "OWN_FUNCTION") assigned to an IDoc port of type ABAP-PI that executes the following processing steps:
    1-Extract outbound IDoc information to get the sender & recipient mail addresses (EDP13 / EDIPHONE tables).
    2-Convert & Transform IDoc data into XML string using FM IDX_IDOC_TO_XML.
    3-Prepare and send e-mail with XML attachement using FM SO_NEW_DOCUMENT_ATT_SEND_API1.
    I cand generate the e-mail with the XML file attachement but FM IDX_IDOC_TO_XML does not convert the IDoc with proper formating and DTD.
    What should I use to accomplish the IDoc conversion to XML w/DTD into a string?
    Should I use XSLT tools ?
    How does that work?
    Thank you
    Carl

    muks wrote:
    Use decimal string to number
    Specifically, you can define a constant with a different datatype on the input on the lower left if you need a different datatype (e.g. U8, I64, DBL, etc) Are all your values integers or do you also need to scan fractional numbers? In this case, you should use "fract/exp string to number" instead.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for