SOAP envelope XML body extraction

hello , I'm new in the 'XML-world' and also new on this forum but i have a question.
My function :
create or replace
FUNCTION DHL_SOAP_RESPONSE_XMLTYPE RETURN XMLType AS
SOAP_RESPONSE constant varchar2(32767) :=
'<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<rateresp:RateResponse xmlns:rateresp="http://scxgxtt.phx-dc.dhl.com/euExpressRateBook/RateMsgResponse">
<Provider code="DHL">
<Notification code="0">
<Message/>
</Notification>
<Service type="C">
<TotalNet>
<Currency>EUR</Currency>
<Amount>17.28</Amount>
</TotalNet>
<Charges>
<Currency>EUR</Currency>
<Charge>
<ChargeType>MEDICAL EXPRESS</ChargeType>
<ChargeAmount>14.77</ChargeAmount>
</Charge>
<Charge>
<ChargeType>FUEL SURCHARGE</ChargeType>
<ChargeAmount>2.51</ChargeAmount>
</Charge>
</Charges>
<DeliveryTime>2013-02-06T12:00:00</DeliveryTime>
<CutoffTime>2013-02-05T20:30:00</CutoffTime>
<NextBusinessDayInd>N</NextBusinessDayInd>
</Service>
<Service type="T">
<TotalNet>
<Currency>EUR</Currency>
<Amount>17.28</Amount>
</TotalNet>
<Charges>
<Currency>EUR</Currency>
<Charge>
<ChargeType>EXPRESS 12:00</ChargeType>
<ChargeAmount>14.77</ChargeAmount>
</Charge>
<Charge>
<ChargeType>FUEL SURCHARGE</ChargeType>
<ChargeAmount>2.51</ChargeAmount>
</Charge>
</Charges>
<DeliveryTime>2013-02-06T12:00:00</DeliveryTime>
<CutoffTime>2013-02-05T20:30:00</CutoffTime>
<NextBusinessDayInd>N</NextBusinessDayInd>
</Service>
<Service type="G">
<TotalNet>
<Currency/>
<Amount>0.00</Amount>
</TotalNet>
<DeliveryTime>2013-02-06T23:59:00</DeliveryTime>
<CutoffTime>2013-02-05T20:30:00</CutoffTime>
<NextBusinessDayInd>N</NextBusinessDayInd>
</Service>
<Service type="N">
<TotalNet>
<Currency>EUR</Currency>
<Amount>13.69</Amount>
</TotalNet>
<Charges>
<Currency>EUR</Currency>
<Charge>
<ChargeType>DOMESTIC EXPRESS</ChargeType>
<ChargeAmount>11.70</ChargeAmount>
</Charge>
<Charge>
<ChargeType>FUEL SURCHARGE</ChargeType>
<ChargeAmount>1.99</ChargeAmount>
</Charge>
</Charges>
<DeliveryTime>2013-02-06T23:59:00</DeliveryTime>
<CutoffTime>2013-02-05T20:30:00</CutoffTime>
<NextBusinessDayInd>N</NextBusinessDayInd>
</Service>
<Service type="9">
<TotalNet>
<Currency/>
<Amount>0.00</Amount>
</TotalNet>
<DeliveryTime>2013-02-07T23:59:00</DeliveryTime>
<CutoffTime>2013-02-05T16:30:00</CutoffTime>
<NextBusinessDayInd>N</NextBusinessDayInd>
</Service>
</Provider>
</rateresp:RateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
BEGIN
RETURN XMLType(SOAP_RESPONSE);
END;
Now what I want is extract the body of the respons with a select .
Can someone help me because I don't understand this ?
I work with the Oracle Database XE 11g.
SQL developer.
Thanks already

Welcome to the forums.
As a tip for future posts [url https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360002]2. How do I ask a question on the forums?
That said, a basic example that pulls the contents of the body out is
declare
  l_ws_rsp    XMLTYPE;
  l_body_rsp  XMLTYPE;
begin
  -- Retrieving the SOAP message
  l_ws_rsp := DHL_SOAP_RESPONSE_XMLTYPE;
  -- Extracting out the body
  SELECT xt.body_xml
    INTO l_body_rsp
    FROM XMLTable(XMLNamespaces('http://schemas.xmlsoap.org/soap/envelope/' AS "SOAP-ENV"),
                  '/SOAP-ENV:Envelope/SOAP-ENV:Body/*'
                  PASSING l_ws_rsp
                  COLUMNS
                  body_xml   XMLTYPE PATH '.') xt;
   dbms_output.put_line(l_body_rsp.getClobVal());
end;If you Google
XMLTable soap site:forums.oracle.com
you can find plenty of examples on these forums regarding how to parse a web service response.
The bigger question is, what are you going to do with the data in the response. As the example above alludes too, you can actually parse the entire WS response with one SQL statement and return the results as one or more rows. Will you be performing PL/SQL logic on the returned results or will you simply be INSERTing them into the database for something else to use?

Similar Messages

  • Escaping characters in SOAP Envelope XML string

    Hello,
    I have a manual web service reference (i.e. a XML String parametrized with more fields from my apex page). Sometimes the web service call fails because the user can enter special XML characters in the text field (this in consequence makes the XML String invalid XML). Do you know any elegant way to deal with this problem? Having a process that does htf.escape_sc for each text field in the same page I have my text field is a bit complcated in my case.
    Are there any other options?
    Many thanks in advance

    Hi "user11085282",
    you might try to wrap the user input in CDATA sections ... this is the "XML way" to have special characters in a document without escaping them. CDATA sections look
    as follows
    <tag><![CDATA[& & < <> >]]></tag>
    http://www.w3schools.com/xml/xml_cdata.asp
    Hope this helps ...
    Carsten Czarski
    Deutschsprachige APEX-Community: Tipps, Tricks, Best Practice
    http://tinyurl.com/apexcommunity
    SQL und PL/SQL: Tipps, Tricks & Best Practice
    http://sql-plsql-de.blogspot.com
    Twitter: @cczarski @oraclebudb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • XSLT To Remove Soap Envelope...

    Hi,
    I'm trying to use XSLT mapping to remove SOAP envelope from a soap response message. Facing some issues.
    This is my response message(with soap envelope):
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
       <soapenv:Body>
          <loginResponse xmlns="urn:enterprise.soap.sforce.com">
             <result>
                <passwordExpired>false</passwordExpired>  <serverUrl>https://blitzna1.eng.salesforce.com/services/Soap/c/5.0</serverUrl> <sessionId>aaaaaaaaaaaaaaa</sessionId>
                <userId>bbbbbbbbbb</userId>
             </result>
          </loginResponse>
       </soapenv:Body>
    </soapenv:Envelope>
    This is my xsl program:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="soapenv:Body">
         <xsl:copy-of select="soapenv:Body"/>
    </xsl:template>
    </xsl:stylesheet>
    Where am I going wrong here?
    Regards,
    Harsh

    This is wrong:
    <xsl:template match="soapenv:Body">
    <xsl:copy-of select="soapenv:Body"/>
    When you have template match="node", you can only work with sub nodes. So your XSLT searches for sub nodes of <i>Body</i> with the name <i>Body</i>.
    You could use select=".", but you want to remove the SOAP envelope, so you have to remove the tag Body as well:
    <xsl:template match="soapenv:Body">
    <xsl:copy-of select="child::node()"/>
    Regards
    Stefan

  • Is it possible to create own soap envolpe and body ?

    Hi,
    I developed a web service and deployed it on Web Logic server and Glassfish server.
    But its soap envelope and soap body is different.
    Glassfish Request :
    <?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
        <S:Header/>
        <S:Body>
            <ns2:getFunctionXML xmlns:ns2="http://webservices.onwardinfosys.com/">
                 <functionName>inotification_pkg_ver4.notifications_count</functionName>
              <parameters>IOS_USER</parameters>
              <appUserName>string</appUserName>     
              <appUserPass>string</appUserPass>
              <deviceCode>string</deviceCode>
            </ns2:getFunctionXML>
        </S:Body>
    </S:Envelope>
    Weblogic Request :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      <env:Header />
        <env:Body>
        <getFunctionXML xmlns="http://webservices.onwardinfosys.com/">
          <!--Optional:-->
          <functionName xmlns="">INOTIFICATION_PKG_VER4.NOTIFICATIONS_COUNT</functionName>
          <!--Zero or more repetitions:-->
          <parameters xmlns="">IOS_USER</parameters>
          <!--Optional:-->
          <appUserName xmlns="">string</appUserName>
          <!--Optional:-->
          <appUserPass xmlns="">string</appUserPass>
          <!--Optional:-->
          <deviceCode xmlns="">string</deviceCode>
        </getFunctionXML>
      </env:Body>
      </env:Envelope>Is it possible to have only one soap envelope and body even if I am deploying web service to different servers ?
    Regards,
    Ajay Sharma

    Ajay Sharma wrote:
    Is it possible to have only one soap envelope and body even if I am deploying web service to different servers ?Sure, it is just XML and XML is just text; you are free to just generate your own stuff in stead of using the webservices stack provided by your appserver. But you don't want to do that because what you have is just fine.

  • How to build my own SOAP envelope

    Hi
    after a lot of work I have now realised that my SOAP to SOAP scenario can't use SAP XI std SOAP ENVELOPE on the receiver part.
    How to I build my own SOAP ENV in my RECEIVER payload? iMaybe in the mapping or in the WSDL/XSD?
    Any guides or experienses are welcome
    hope someone can help
    cheers

    Hi Bowie,
    Here is one possible approach...
    1) Set "Do Not Use SOAP Envelope" in your Receiver SOAP Adapter.
    2) Add this xsl as a second step in your interface mapping.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
        <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
          <env:Body>
            <xsl:copy>
              <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
          </env:Body>
        </env:Envelope>
      </xsl:template>
      <xsl:template match="@*|node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>
    </xsl:stylesheet>
    You can then modify the soap envelope nodes above to create what you need.
    -Russ

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

  • SOAP envelope namespace

    Dear all,
    I have configured a scenario for which the SOAP adapter is used. When I try to send a message like this:
    <ns0:Envelope xmlns:ns0="http://www.w3.org/2001/12/soap-envelope">
    <ns0:Body>......
    I receive message "SOAP:Server Server Error XIAdapter MalformedMessageException "
    When the namespace "http://www.w3.org/2001/12/soap-envelope" is replaced with
    "http://schemas.xmlsoap.org/soap/envelope/" the message is processed correctly.
    Does this mean that any SOAP messages to XI MUST have namespace "http://schemas.xmlsoap.org/soap/envelope/" for the SOAP envelope??
    Kind regards,
    John.

    Hello Bhavesh,
    No, the message is sent from a third party to the XI system using SOAP. In their message the SOAP envelope is created with the namespace as I stated in my previous post.
    When I edit this message by changing the namespace the message is processed without errors. It seems that there is a check for namespace "http://schemas.xmlsoap.org/soap/envelope" in the SOAP adapter, but I cannot configure out why.
    Kind regards,
    John.

  • '/soap:Envelope ' in extract throws invalid token error

    I'm receiving xml via webservice/soap and placing in an XMLTYPE table. Upon trying to execute a test query:
    SELECT
    EXTRACTVALUE(VALUE(d),'Destinations/CountryID') AS ID
    FROM X_TEST p,
    TABLE (xmlsequence(EXTRACT(p.object_value,'/soap:Envelope/soap:Body/GetUserDestinationResponse/GetUserDestinationResult/DestinationResults/DestinationsList//Destinations'))) d
    I get an error similar to: (note path here in error is diff than above extract statement)
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in: 'soap:Envelope/soap:Body/GetUserDestinationResponse/GetUserDestinationResult/DestinationResults/DestinationsList/Destinations/DestinationList/Destination//Provider'
    Without the soap:Envelope/soap:Body there is no error. Is there a problem using the ':' here?
    Here's a snippet of the stored xml:
    <?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>
    <GetUserDestinationsResponse xmlns="http://xxx.xxx.xxx.xx/somesite_ws/">
    <GetUserDestinationsResult>
    <DestinationResults>
    <DestinationsList>
    <Destinations>
    <CountryID>101</CountryID>
    <CountryDescription>Indonesia</CountryDescription>
    </Destinations>
    </DestinationList>
    </DestinationResults>
    </GetUserDestinationsResult>
    </GetUserDestinationsResponse>
    </soap:Body>
    </soap:Envelope>

    Thanks,
    that set me in the right direction - I had tried the third parm before but must not have been just right being that there are multiple namespaces given. Appears I have to always use the namespace parm to accurately obtain the data. To conclude - this is what I ended up with to get this returning data properly:
    SELECT
    EXTRACTVALUE(VALUE(d),'/Destination/DestinationId', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"') AS ID,
    Get_Point(EXTRACTVALUE(VALUE(d),'/Destination/Longitude', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"'),
    EXTRACTVALUE(VALUE(d),'/Destination/Latitude', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"')) AS geom,
    EXTRACTVALUE(VALUE(p),'/Provider/ProviderName', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"') AS provider_name,
    EXTRACTVALUE(VALUE(p),'/Provider/ProviderSpecific/HospitalInformation/whoAvainFlu', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"') AS avaianflu,
    VALUE(p) AS xmlb
    FROM X_MEDAIRE xml
    ,TABLE (xmlsequence(EXTRACT(xml.object_value,
    '/soap:Envelope/soap:Body/*', 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"'
    ))) e
    ,TABLE (xmlsequence(EXTRACT(VALUE(e),
    '/long/path/after/soap', 'xmlns="http://xxx.xxx.xxx.xx/some_ws/"' ))) d
    ,TABLE (xmlsequence(EXTRACT(VALUE(d),
    '/Destination/ProviderList/Provider', 'xmlns="http://xxx.xxx.xxx.xxx/some_ws/"' ))) p
    WHERE
    EXTRACTVALUE(VALUE(p),'/Provider/ProviderType', 'xmlns="http://xxx.xxx.xxx.xxx/some_ws/"') = 'Hospital'

  • JAXB 1.3 can't parse W3 SOAP 2003-05 envelope XML schema

    Hello,
    I was trying to use JAXB to parse the MMAP schema from the SMS Forum
    (http://www.smsforum.net/schemas/mmap/v1.0/mmap.xsd). I finally
    tracked it down to XJC choking on the included SOAP envelope schema's
    use of the xml:lang attribute for a tag called reasontext. Here's the
    pared-down test case:
    C:\java\src\baz>%JWSDP_HOME%\jaxb\bin\xjc.bat http://www.w3.org/2003/05/soap-envelope/soap-envelope.xsd
    %JWSDP_HOME%\jaxb\bin\xjc.bat http://www.w3.org/2003/05/soap-envelope/soap-envelope.xsd
    parsing a schema...
    [ERROR] src-resolve: Cannot resolve the name 'xml:lang' to a(n) attribute declaration component.
      line 97 of soap-envelope.xsd
    [ERROR] src-ct.0.1: Complex Type Definition Representation Error for type 'reasontext'.  Element 'attribute' is invalid, misplaced, or occurs too often.
      line 97 of soap-envelope.xsd
    Failed to parse a schema.
    C:\java\src\baz>I believe that the relevant portions of the schemas and namespaces in
    question are:
    http://www.w3.org/2003/05/soap-envelope/soap-envelope.xsd
    <xs:complexType name="reasontext">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute ref="xml:lang" use="required" />
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>http://www.w3.org/2001/XMLSchema.xsd
    <xs:complexType name="attribute" mixed="false">
    <xs:complexContent>
    <xs:extension base="xs:annotated">
    <xs:sequence>
    <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType" />
    </xs:sequence>
    <xs:attributeGroup ref="xs:defRef" />
    <xs:attribute name="type" type="xs:QName" />
    <xs:attribute name="use" use="optional" default="optional">
    <xs:simpleType>
    <xs:restriction base="xs:NMTOKEN">
    <xs:enumeration value="prohibited" />
    <xs:enumeration value="optional" />
    <xs:enumeration value="required" />
    </xs:restriction>
    </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="default" type="xs:string" />
    <xs:attribute name="fixed" type="xs:string" />
    <xs:attribute name="form" type="xs:formChoice" />
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>http://www.w3.org/2001/XMLSchema.xsd
    <xs:attributeGroup name="defRef">
    <xs:annotation>
    <xs:documentation>for element, group and attributeGroup, which both define and reference</xs:documentation>
    </xs:annotation>
    <xs:attribute name="name" type="xs:NCName" />
    <xs:attribute name="ref" type="xs:QName" />
    </xs:attributeGroup>http://www.w3.org/XML/1998/namespace
    The namespace whose name is http://www.w3.org/XML/1998/namespace is
    bound by definition to the prefix xml: according to Namespaces in XML,
    W3C Recommendation 14 Jan 1999. Note that unlike all other XML
    namespaces, both the name and the prefix are specified; i.e., if you
    want XML 1.0 processors to recognize this namespace, you must use the
    reserved prefix xml:.
    xml:lang and xml:space
    As of the last update of this document, the XML 1.0 Specification
    defines two attribute names in this namespace:
    xml:lang
    Designed for identifying the human language used in the scope of the
    element to which it's attached.
    .I'm no XML schema expert, but it looks to me like "name" and "ref"
    are both valid attributes for an <xs:attribute> tag and that the XML
    namespace standard requires XML processors to recognize the xml:lang
    attribute. Hence, this appears to me to be a bug in JAXB.
    A secondary bug is that the original error message left the name of
    the offending included schema blank:
    C:\java\src\foo>d:\java\jwsdp\jwsdp-1.3\jaxb\bin\xjc.bat http://www.smsforum.net/schemas/mmap/v1.0/mmap.xsd
    parsing a schema...
    [ERROR] src-resolve: Cannot resolve the name 'xml:lang' to a(n) attribute declaration component.
      line 97 of
    [ERROR] src-ct.0.1: Complex Type Definition Representation Error for type 'reasontext'.  Element 'attribute' is invalid, misplaced, or occurs too often.
      line 97 of
    Failed to parse a schema.
    C:\java\src\foo>In case it helps with problem diagnosis, I'm running with J2SDK 1.4.2
    and have copied the endorsed jar files into the JRE lib as instructured
    with JAXB:
    C:\java\src\baz>java -version
    java -version
    java version "1.4.2"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
    Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
    C:\java\src\baz>dir %JAVA_HOME%\jre\lib\endorsed
    dir %JAVA_HOME%\jre\lib\endorsed
    Volume in drive D has no label.
    Volume Serial Number is 70AE-6E52
    Directory of D:\java\j2se\j2sdk1.4.2\jre\lib\endorsed
    03/31/2004  09:41 AM    <DIR>          .
    03/31/2004  09:41 AM    <DIR>          ..
    03/29/2004  01:28 PM            56,619 dom.jar
    03/29/2004  01:28 PM            60,963 sax.jar
    03/29/2004  01:28 PM         2,823,241 xalan.jar
    03/29/2004  01:28 PM         2,667,618 xercesImpl.jar
    10/10/2003  06:36 PM         1,379,810 xsltc.jar
                   6 File(s)      6,989,573 bytes
                   2 Dir(s)   7,889,731,584 bytes free
    C:\java\src\baz>I'm quite interested in the resolution of this issue as I'm stopped in
    my tracks on progress here. Help with resolution, whether in JAXB or
    my usage of it, will be much appreciated. I did a search of existing
    issues but didn't notice a duplicate. Thanks in advance.

    I have also come across a similar problem with validating an xml file with an xml:lang attribute. It seems to be common across the schema validation and dtd validation. I get the following error with both schema and dtd validation:
    Validation Error Msg (0): unexpected attribute "xml:lang"
    Validation Error Location (0): FreeFormText
    The test file extract looks like this:
    <FreeFormText xml:lang="EN">Pelle</FreeFormText>
    The schema defines the node as:
    <xs:complexType name="FreeFormText">
              <xs:simpleContent>
                   <xs:extension base="FreeFormTextType">
                        <xs:attribute name="lang" type="xs:language"/>
                   </xs:extension>
              </xs:simpleContent>
    </xs:complexType>
    and the dtd defines the node as:
    <!ELEMENT FreeFormText
         (#PCDATA)>
    <!ATTLIST FreeFormText xml:lang CDATA #IMPLIED >
    This looks like a bug in JAXB to me aswell. Any help on it would be much appreciated as i am also stuck.

  • OSB: how to remove soap envelope from the $body

    Hi,
    In Assign activity when i assign: xquF1:url-decode(fn-bea:serialize($body),"UTF-8") = variable1,i am getting:
    $variable1 =
    <soap-env:Body      xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <MESSAGE>
    <aa>12</aa>
    <bb>34</bb>
    </MESSAGE>
    </soap-env:Body>
    How should i remove 'soap-env:Body' from the above xml. I need only:
    $variable1 =
         <MESSAGE>
    <aa>12</aa>
    <bb>34</bb>
    </MESSAGE>
    Kindly advise how to acheive the same.
    Thanks in advance.
    Edited by: user9223904 on Apr 17, 2013 2:25 AM
    Edited by: user9223904 on Apr 17, 2013 2:26 AM

    just use $body/* and you will have what u wanted.

  • XML SPY - SOAP Envelope

    Hi all,
    Can any body please suggest me the steps to capture the SOAP envelope using XML SPY?
    Also while sending a SOAP request through XML Spy to server, i get an empty response. I tried to monitor the packets passing through the network card with the destination specified in the SOAP request, there was such message. Can any body please suggest me the possible reasons and the solution for the same?
    Thanks and best regards,
    Kulwant
    Thanks and best regards,
    Kulwant Singh

    Hi
    If you are getting the response back as blank response so check the request you are sending to the web serviceor RFC have any response information or it is blank.
    or
    if u have use the exactly once option in the adapter then u will get the blank response while sending the request using the xml spy.
    Thanks
    Rinku

  • SOAP Adapter without SOAP envelope sets contenttype to application/xml

    Hi,
    I wrote a adaptermodul for the SOAP adapter to create a SOAP:HEADER.
    I disable the SOAP envelope in the communication channel.
    Now I get a error from the WebService Provider because the SOAP Adapter sends with Content-Type application/xml and not text/xml. I set the content-type in the adapter module but it seens to not work.
    How can I correct this ?
    Regards,
    Gerald

    Hi
    Simple answer is NO, it is not possible (without party/channel/ service etc to process the request)
    but it is worth a try to check if the URL encoding works.. though I have not tried..
    for example sending the hex value of the "?" -   %3F%
    URL is a generic topic, you can search that to get more information
    (ex  :  http://www.blooberry.com/indexdot/html/topics/urlencoding.htm)
    Regards
    Vishnu

  • SOMETIMES - Could not load com.sun.xml.messaging.saaj.soap.Envelope

    Hi there,
    Well, it is mysterious - not to say frightning !
    When I first start my tomcat I get an Exception like:; Could not load com.sun.xml.messaging.saaj.soap.Envelope
    The second time it runs well. No Exception about classloading. And the app is nice.
    Hmm, why ? Can�t find out.
    I think that Exception has to have some relation to jars and where they are placed.
    According to the JAXWS-page I placed:
    jaxb-api.jar, jaxws-api.jar, jsr173_api.jar, saaj-api.jar
    in my %JRE_HOME%\lib\endorsed\
    so far so good !
    The rest of the needed jars to run JAX-WS Webservices are in my WEB-INF/lib FOLDER
    activation.jar and so on
    Any Ideas ?
    Here is the Exception I get when I invoke the Service
    INFO: Illegal access: this web application instance has been stopped already. Could not load com.sun.xml.messaging.saaj.soap.Envelope. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
    java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1238)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:78)
    at com.sun.xml.ws.message.AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:177)
    at com.sun.xml.ws.client.dispatch.SOAPMessageDispatch.toReturnValue(SOAPMessageDispatch.java:93)
    at com.sun.xml.ws.client.dispatch.SOAPMessageDispatch.toReturnValue(SOAPMessageDispatch.java:57)
    at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:188)
    at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:192)
    at idff.server.service.ArtifactResolver.resolve(ArtifactResolver.java:101)
    at servlets.AssertionConsumerServlet.doPost(AssertionConsumerServlet.java:149)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
    09.08.2007 14:40:12 org.apache.catalina.core.StandardWrapperValve invoke
    SCHWERWIEGEND: Servlet.service() for servlet AssertionConsumerServlet threw exception
    java.lang.NoClassDefFoundError: com/sun/xml/messaging/saaj/soap/Envelope
    at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:78)
    at com.sun.xml.ws.message.AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:177)
    at com.sun.xml.ws.client.dispatch.SOAPMessageDispatch.toReturnValue(SOAPMessageDispatch.java:93)
    at com.sun.xml.ws.client.dispatch.SOAPMessageDispatch.toReturnValue(SOAPMessageDispatch.java:57)
    at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:188)
    at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:192)
    at idff.server.service.ArtifactResolver.resolve(ArtifactResolver.java:101)
    at servlets.AssertionConsumerServlet.doPost(AssertionConsumerServlet.java:149)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
    Listening for transport dt_shmem at address: bundled_tomcat
    Anybody help, please !

    First, thanks for your reply jitu.
    I don�t get this exception anymore.
    Well, your hint was quite right, so I think I may give you the duke stars.
    I found out that putting the jars into the shared/lib don�t work. Maybe it is because I am running 3 tomcat instances at the same time.
    I put all the Jax-ws libs into the tomcat_home/common/lib directory.
    And left the endorsed libs in the java endoresed directory.
    putting the endorsed libs in the tomcat_home/common/lib/endorsed may also work.
    regards and thanks,
    footman

  • BPEL  remote fault ???   invalid  SOAP envelope:  body is empty

    Heres the clever bit, The invoke actually works calls the web interface which does what its meant to do. The web interface then passes back a correctly formed empty message (accepted by XMLSpy and soapUI ) in BPEL I get a remote fault
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke: invalid SOAP envelope: body is empty</summary>
    </part></remoteFault>

    Hi,
    Did any of you solve this issue? I'm having the same problem.
    Any help would be appreciated. Thanks in advance,
    Zaloa

  • Enclosing Transformed XML in SOAP envelope

    All,
    I am currently facing difficulty to send a XML document via HTTP Post enclosed in a SOAP envelope.
    1. The BPEL process, using database polling feature of DB Adapter, will get the records from the database.
    2. Transform the message
    3. Now I want to enclose the transformed message into a SOAP envelope and send it via HTTP Post to a third party system.
    I am facing difficulty in Step 3. Could some one suggest me how to enclose the XML messages inside a SOAP envelope and some pointers to use HTTP Adapter?
    Thanks in advance

    I just found out that HTTP binding activity does not support XMLs with complex types.(Note ID: 1328955.1) Now I guess the only choice for me is to use Java or any other programming language to do the HTTP post.
    This is what i am thinking.
    1. Create a XML file with the required format using SOA
    2. Use a Java program to pick the file from a location and send it to the target URL( enclosing it in a SOAP envelope)
    3. Get the response and update oracle status tables.
    The trouble i will face here is to pass the file name , target URL as the parameters.
    Is there a way to create this program and orchestrate using BPEL? Meaning- call this java program after i finish generating the file and pass the file name and the target URL as parameter?
    Please suggest if a better approach could be followed for this.
    Thanks,
    Dwarak

Maybe you are looking for

  • Fireworks instead of Illustrator?

    Hi, we've been using Illustrator CS3 here for web page mock-ups for a while now. It initially was a bit buggy, but things have gotten better. Most people don't realize it has the same slicing capabilities of Image Ready. But we really use style sheet

  • Unable to start DB2 9.5 in Solaris due to SQL1042C

    Hi Seniors,                                                                                Seeking assistance or clue on the below issue we facing recently. My QAS ERP is completely down for sometime due to this issue. Error message when starting DB2

  • Java Regex Pattern

    Hello, I have parsed a text file and want to use a java regex pattern to get the status like "warning" and "ok" ("ok" should follow the "warning" then need to parser it ), does anyone have idea? How to find ok that follows the warning status? thanks

  • Configuring AGENT on target server

    Hi, Actually i have installed client components on my system....and ODI server component(agent) on my target instance.....now how can i configure the agent on my target server so that it can be used my multiple users.....how can i create a scheduler

  • When using Network Utility, does Link Speed tell you the actual speed of the network?

    I'm trying to see whether a power line adapter I installed in my home network is faster accessing the internet than the WiFi from my Time Capsule. Using Apple's Network Utility, my power line/ethernet connection reads as being 1Gb/s, which is obvious