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

Similar Messages

  • 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: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'

  • Logging SOAP Envelope in ADF

    Dear All,
    I wanted to log all my SOAP traffic so I created my own SOAPProvider for my Web Service Data Control.
    I used below code
    public class MySoapProvider extends SOAPProvider
         private static final ADFLogger logger = ADFLogger.createADFLogger(MySoapProvider.class);
         @Override
         public void handleRequest(SOAPMessage soapMessage)
         throws AdapterException
           logSOAPMessage(soapMessage, "REQUEST");
           super.handleRequest(soapMessage);
         @Override
         protected void handleResponse(SOAPMessage message) throws AdapterException {
              logSOAPMessage(message, "RESPONSE");
              super.handleResponse(message);
         private void logSOAPMessage(SOAPMessage message, String origin){
           ByteArrayOutputStream out = new ByteArrayOutputStream();
              try {
                   message.writeTo(out);
              } catch (Exception e) {
                   e.printStackTrace();
              logger.info("SOAP Message :: " + origin + " :: " +out.toString());
    }But it prints this line.
    <SSSOAPProvider> <logSOAPMessage> Logging SOAP Message :: REQUEST :: oracle.j2ee.ws.saaj.soap.soap11.Message11@1466e35I am not sure, but how do you logged the SOAP envelope in ADF? I am expecting to print the soap header and soap body actually
    Thanks

    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'

  • 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

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

  • 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

  • XSLT mapping with SOAP Envelope

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

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

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

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

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

  • SOAP Adapter: DO not use soap envelope

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

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

  • SOAP scenario "Do not use SOAP Envelope" check problems

    Hi Gurus!
    I'm again here.
    I've an scenario with SOAP Receiver, the WS do I need consume, looks like:
    POST /SumTotalws1/services/Authentication.asmx HTTP/1.1
    Host: xxx.xxx.xxx.xxx
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/Login"
    <?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>
        <Login xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    but the response looks like:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?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:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/" />
      </soap:Body>
    </soap:Envelope>
    when I create my communication channel with "Do not Use SOAP Envelope" uncheck it, all run ok, but I only get in response message "<LoginResponse>" and I need <UserToken>
    When I check it "Do not use SOAP Envelope" and I use XSLT mapping to add SOAP Env to request message,  I get response message empty.
    I tried the web Service with the message that I obtained from de XSLT mapping in the program SOAPUI. I get ok response with the <UserToken> value.
    some idea to solve this problem??
    Thanks in advance.
    Edited by: KrlosRios on Sep 30, 2011 8:07 PM

    Hi, thanks for your answer.
    Can I use AXIS to execute any WS?
    The WS that I tried execute looks like this:
    POST /xxxx/services/Authentication.asmx HTTP/1.1
    Host: xxx.240.106.39
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://xxx/Authentication/Login"
    <?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>
        <Login xmlns="http://xxxxAuthentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    and for the response:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?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:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/"></LoginResponse>
      </soap:Body>
    </soap:Envelope>
    also I found in Trace node in SXI_MONITOR, jus before execute response mapping :
    <Trace level="1" type="B" name="PLSRV_MAPPING_RESPONSE"></Trace><!-- ************************************ -->
    <Trace level="1" type="Timestamp">2011-11-01T19:33:34Z UTC-6 Start of pipeline service processing PLSRVID= PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="3" type="T">Calling pipeline service: PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="3" type="T">Reading Pipeline-Service specification... </Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">ADRESSMOD  = LOCAL</Trace>
    <Trace level="3" type="T">P_CLASS    = CL_MAPPING_XMS_PLSRV3</Trace>
    <Trace level="3" type="T">P_IFNAME   = IF_XMS_PLSRV</Trace>
    <Trace level="3" type="T">P_METHOD   = ENTER_PLSRV</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="2" type="T">......attachment XI_Context not found </Trace>
    <Trace level="3" type="T">Das Mapping wurde bereits in der Interface-Ermittlung bestimmt. </Trace>
    <Trace level="3" type="T">Objekt-Id des Interface-Mappings 8594D8C2E6DA3C008F45B112FFCC86B8 </Trace>
    <Trace level="3" type="T">Versions-Id des Interface-Mappings C3BB8FB0A1D511E0A688E9FCB9F06E16 </Trace>
    <Trace level="1" type="T">Interface-Mapping http://xxxxx.net/pi/lms/Authentication OM_LMS_Authentication </Trace>
    <Trace level="3" type="T">Mapping-Schritte 1  XSLT Response_LMS_Auth5 </Trace>
    <Trace level="3" type="T">MTOM-Attachments werden nicht in die Payload überführt. </Trace>
    <Trace level="1" type="T">Payload is empty. </Trace>
    <Trace level="3" type="T">Dynamische Konfiguration ist leer. </Trace>
    <Trace level="2" type="T">Modus 0  </Trace>
    <Trace level="2" type="T">Call XSLT processor with stylsheet Response_LMS_Auth5.xsl. </Trace>
    <Trace level="3" type="T">Method fatalError called, terminate transformation, because of
    Thrown:
    javax.xml.transform.TransformerException: java.io.IOException: Parsing an empty source. Root element expected!
         at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:250)
    Say Payload is empty.
    and in left directory tree, not exist "payload" node, only existe SOAP Body and in "Manifest" node looks like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Outbound Channel Response -->
    <SAP:Manifest wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <SAP:Payload xlink:href="cid:att-60c3078b066911e1bc1500000093b25a @sap.com">
    <SAP:Name>MainAttachment</SAP:Name><
    SAP:Description>Main document</SAP:Description>
    <SAP:Type>Application</SAP:Type></SAP:Payload>
    </SAP:Manifest>
    Thanks for your help.

  • Do not use SOAP envelope

    I have a scenario in which a Webservice is called from PI; as the webservice request some specific fields in the SOAP-header I have found that I should check the "Do not use SOAP envelope" option in the SOAP-receiver channel.
    I have searched the forum/SDN for examples of how to create the SOAP envelope including the required header fields. I have found some posts refering to XSLT-mapping; however I'm not famliar with XSLT so I'm looking for an example or guide how to create the SOAP envelope for this scenario.
    Can anybody be of assistance?
    Kind regards,
    John.

    Here is a sample of an xlst I used for this purpose.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <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>
          <p262:operationName xmlns:p262="http://othersite.com">
          <xsl:apply-templates/>
        </p262:operationName>
      </soapenv:Body>
    </soapenv:Envelope>
    </xsl:template>
    <xsl:template match="shippingOptions">
          <shippingOptions>
              <xsl:apply-templates select="destination" />
              <equipmentId><xsl:value-of select="equipmentId"/></equipmentId>
              <xsl:apply-templates select="origin" />
          </shippingOptions>     
    </xsl:template>
    <xsl:template match="destination">
            <destination>
              <countryCode><xsl:value-of select="countryCode"/></countryCode>
              <postalCode><xsl:value-of select="postalCode"/></postalCode>
            </destination>
    </xsl:template>
    <xsl:template match="origin">
            <origin>
              <countryCode><xsl:value-of select="countryCode"/></countryCode>
              <postalCode><xsl:value-of select="postalCode"/></postalCode>
            </origin>
    </xsl:template>
    </xsl:stylesheet>

  • Remove SOAP Envelop using XSLT  mapping.

    Hi,
    I need a code to remove SOAP Envelop using XSLT mapping.
    Source:
    <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
    <soapenv:Body>
    <getServerTimestampResponse>
    <result>
      <timestamp>2008-06-19T14:22:25.004Z</timestamp>
      </result>
      </getServerTimestampResponse>
      </soapenv:Body>
      </soapenv:Envelope>
    target:
    <?xml version="1.0" encoding="UTF-8" ?>
    <a>
          <b>
             <c>2008-06-19T14:22:25.004Z<c>
           </b>
    </a>
    Please help me in this
    Thanks&Regards,
    Yuga

    hi,
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
       <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
       <xsl:template match="/">
          <ns0:c>       
                   <xsl:copy-of select="SOAP-ENV:Envelope/SOAP-ENV:Body"/ />
          </ns0:c>
       </xsl:template>
    </xsl:stylesheet>
    This will get your whole body...
    Your root node should belong to some namesapce...i.e. getServerTimestampResponse .
    Thanks,
    Vijaya.

  • 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

  • Transform payload to SOAP message using XSLT

    Hello,
    I'm working with e-invoice for Finland (called Finvoice) and is supposed to send a soap message as a file via file/ftp adapter.
    The output from SAP is an INVOIC idoc that is mapped to a given output structure. This works fine.
    The soap envelope is created via xslt transformation.
    The Envelope is created correctly but I'm struggling with how to add the payload to the message. It needs to look as shown below, (I'm just showing the essential part).
    My problem is that I don't know how to add the doctype part via xslt:
    <?xml version="1.0" encoding="ISO-8859-15"?>
    <!DOCTYPE Finvoice SYSTEM "Finvoice.dtd">
    I get validation errors when adding this in the xsl. The content of the payload looks good.
    Does anyone know how this can be solved?
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <eb:Manifest eb:id="Manifest" eb:version="2.0">
    <eb:Reference eb:id="Finvoice" xlink:href="1017000018">
    <eb:schema eb:location="http://www.pankkiyhdistys.fi/verkkolasku/finvoice/finvoice.xsd" eb:version="2.0"/>
    </eb:Reference>
    </eb:Manifest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    <?xml version="1.0" encoding="ISO-8859-15"?>
    <!DOCTYPE Finvoice SYSTEM "Finvoice.dtd">
    <?xml-stylesheet type="text/xsl" href="Finvoice.xsl"?>
    <Finvoice Version="1.2">
    <SellerPartyDetails>
    <SellerPartyIdentifier>SellerPartyIdentifier23456789012345</SellerPartyIdentifier>
    <SellerOrganisationName>SellerOrganisationName3456789012345</SellerOrganisationName>
    // Best regards Hans

    hI,
    How to add the the below soap frame thru XSLT mapping.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd">
    <SOAP-ENV:Header>
    <eb:MessageHeader xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" SOAP-ENV:mustUnderstand="1" eb:version="2.0">
    <eb:From>
    <eb:PartyId>0037123456678</eb:PartyId>
    <eb:Role>Sender</eb:Role>
    </eb:From>
    <eb:From>
    <eb:PartyId>NDEAFIHH</eb:PartyId>
    <eb:Role>Intermediator</eb:Role>
    </eb:From>
    <eb:To>
    <eb:PartyId>FI2757800750155448</eb:PartyId>
    <eb:Role>Receiver</eb:Role>
    </eb:To>
    <eb:To>
    <eb:PartyId>OKOYFIHH</eb:PartyId>
    <eb:Role>Intermediator</eb:Role>
    </eb:To>
    <eb:CPAId>yoursandmycpa</eb:CPAId>
    <eb:ConversationId/>
    <eb:Service>Routing</eb:Service>
    <eb:Action>ProcessInvoice</eb:Action>
    <eb:MessageData>
    <eb:MessageId>20081228-010142</eb:MessageId>
    <eb:Timestamp>2008-12-28T01:01:42+03:00</eb:Timestamp>
    <eb:RefToMessageId/>
    <eb:RefToMessageId>XS1027.LPTF82/268</eb:RefToMessageId>
    </eb:MessageData>
    </eb:MessageHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <eb:Manifest eb:id="Manifest" eb:version="2.0">
    <eb:Reference eb:id="Finvoice" xlink:href="XS1027.LPTF82/268">
    <eb:Schema eb:location=" http://www.finvoice.info/yrityksen_verkkolasku/ladattavat/Tekniset tiedostot/schemat/Finvoice.xsd" eb:version="2.0"/>
    </eb:Reference>
    </eb:Manifest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    <?xml version="1.0" encoding="ISO-8859-15"?>
    <!DOCTYPE Finvoice SYSTEM "Finvoice.dtd">
    <?xml-stylesheet type="text/xsl" href="Finvoice.xsl"?>
    Thanks and Regards,
    Hymavathi

Maybe you are looking for