Apache Axis Soap Envelope soap:Header

<?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>
<DataHeader xmlns="http://mySite/">
<HeaderUsername>string</HeaderUsername>
<HeaderPassword>string</HeaderPassword>
</DataExportHeader>
</soap:Header>
<soap:Body>
<ReturnDataList xmlns="http://mySite/">
<functionName>getAll</functionName>
</ReturnDataList>
</soap:Body>
</soap:Envelope>
I am using Apache Axis, how can i embed DataHeader{HeaderUsername, HeaderPassword} in my request? Thanks,

I can generate the code from .wsdl by using JAP+RPC, but there is not Header class in the code. Any help?

Similar Messages

  • SOAP Envelope Additional Header Fields

    Hi,
    I need to add additional fields in the SOAP Header when calling a web service for eg.
    <SOAP:Envelope............>
    <SOAP:Header>
        <ns1:customTag>
        </ns1:customTag>
    the standard tags here
    <SAP:Main...
    </SAP:Main>
    <SOAP:Header>
    </SOAP:Envelope>
    Any Blog/Example ??

    Gupta,
    Read this thread it might address solution ur problem -Re: XI30 SPS16 - SOAP Sender Adapter - self-defined SOAP-Header
    raj.

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

  • Bug in EWS Java API 1.2: Does not support namespace prefix "s" as in "s:Envelope".. Expects "soap:Envelope"

    It can NOT parse ....
    <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><h:ServerVersionInfo MajorVersion="14" MinorVersion="2" MajorBuildNumber="309
    " MinorBuildNumber="3" Version="Exchange2010_SP2" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns
    :xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></s:Header><s:Body><m:GetFolderResponse xmlns:m="http://schemas.microsoft.com/exchange/service
    s/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><m:ResponseMessages><m:GetFolderResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:Respo
    nseCode><m:Folders><t:CalendarFolder><t:FolderId Id="AAMkADExNjY4ZWRmLWIwN2YtNDAxMS05ZjEzLTg3YTRiMjQ0ZGY3ZQAuAAAAAADU0n/e4OgzQYvxnEFT1sxPAQA1LVqe3bVEQ6g4HVLTxYapAFiIzwa6AAA=" ChangeKey="AgA
    AABYAAACUAPkRiik5TYV1B0n4GmWXAAAAAj0P"/><t:ParentFolderId Id="AAMkADExNjY4ZWRmLWIwN2YtNDAxMS05ZjEzLTg3YTRiMjQ0ZGY3ZQAuAAAAAADU0n/e4OgzQYvxnEFT1sxPAQA1LVqe3bVEQ6g4HVLTxYapAFiI0lHWAAA=" Chang
    eKey="AQAAAA=="/><t:FolderClass>IPF.Appointment</t:FolderClass><t:DisplayName>Calendar</t:DisplayName><t:TotalCount>2</t:TotalCount><t:ChildFolderCount>0</t:ChildFolderCount><t:EffectiveRig
    hts><t:CreateAssociated>true</t:CreateAssociated><t:CreateContents>true</t:CreateContents><t:CreateHierarchy>true</t:CreateHierarchy><t:Delete>true</t:Delete><t:Modify>true</t:Modify><t:Rea
    d>true</t:Read><t:ViewPrivateItems>true</t:ViewPrivateItems></t:EffectiveRights><t:PermissionSet><t:CalendarPermissions><t:CalendarPermission><t:UserId><t:DistinguishedUser>Default</t:Disti
    nguishedUser></t:UserId><t:CanCreateItems>false</t:CanCreateItems><t:CanCreateSubFolders>false</t:CanCreateSubFolders><t:IsFolderOwner>false</t:IsFolderOwner><t:IsFolderVisible>false</t:IsF
    olderVisible><t:IsFolderContact>false</t:IsFolderContact><t:EditItems>None</t:EditItems><t:DeleteItems>None</t:DeleteItems><t:ReadItems>TimeOnly</t:ReadItems><t:CalendarPermissionLevel>Free
    BusyTimeOnly</t:CalendarPermissionLevel></t:CalendarPermission><t:CalendarPermission><t:UserId><t:DistinguishedUser>Anonymous</t:DistinguishedUser></t:UserId><t:CanCreateItems>false</t:CanC
    reateItems><t:CanCreateSubFolders>false</t:CanCreateSubFolders><t:IsFolderOwner>false</t:IsFolderOwner><t:IsFolderVisible>false</t:IsFolderVisible><t:IsFolderContact>false</t:IsFolderContac
    t><t:EditItems>None</t:EditItems><t:DeleteItems>None</t:DeleteItems><t:ReadItems>None</t:ReadItems><t:CalendarPermissionLevel>None</t:CalendarPermissionLevel></t:CalendarPermission></t:Cale
    ndarPermissions></t:PermissionSet></t:CalendarFolder></m:Folders></m:GetFolderResponseMessage></m:ResponseMessages></m:GetFolderResponse></s:Body></s:Envelope>
    microsoft.exchange.webservices.data.ServiceRequestException: The request failed. An element node 'soap:Envelope' of the type START_ELEMENT was expected, but node '{http://schemas.xmlsoap.or
    g/soap/envelope/}Envelope' of type START_ELEMENT was found.
            at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:51)
            at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:142)
            at microsoft.exchange.webservices.data.ExchangeService.bindToFolder(ExchangeService.java:346)
            at microsoft.exchange.webservices.data.ExchangeService.bindToFolder(ExchangeService.java:370)
            at microsoft.exchange.webservices.data.Folder.bind(Folder.java:50)
            at microsoft.exchange.webservices.data.Folder.bind(Folder.java:69)
            at com.tsg.ews.GetItemWorker.run(GetItemWorker.java:252)
            at java.lang.Thread.run(Thread.java:662)
    Caused by: microsoft.exchange.webservices.data.ServiceXmlDeserializationException: An element node 'soap:Envelope' of the type START_ELEMENT was expected, but node '{http://schemas.xmlsoap.
    org/soap/envelope/}Envelope' of type START_ELEMENT was found.
            at microsoft.exchange.webservices.data.EwsXmlReader.internalReadElement(EwsXmlReader.java:114)
            at microsoft.exchange.webservices.data.EwsXmlReader.readStartElement(EwsXmlReader.java:618)
            at microsoft.exchange.webservices.data.ServiceRequestBase.readResponse(ServiceRequestBase.java:450)
            at microsoft.exchange.webservices.data.SimpleServiceRequestBase.readResponse(SimpleServiceRequestBase.java:101)
            at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:38)

    After these change still I am getting this kind of Error:
    microsoft.exchange.webservices.data.ServiceRequestException
        at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:63)
        at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:142)
        at microsoft.exchange.webservices.data.ExchangeService.internalFindFolders(ExchangeService.java:202)
        at microsoft.exchange.webservices.data.ExchangeService.findFolders(ExchangeService.java:257)
        at ci.cryoserver.ews.EWSUtils.testEWSWebService(Unknown Source)
        at org.apache.jsp.save_005fimap_005fmailbox_005freader_005fuserinfo_jsp._jspService(save_005fimap_005fmailbox_005freader_005fuserinfo_jsp.java:453)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ci.cryoserver.frontend.filter.CompanyTagFilter.doFilter(CompanyTagFilter.java:69)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ci.cryoserver.ntlm.CryoHttpSecurityFilter.doFilter(CryoHttpSecurityFilter.java:105)
        at ci.cryoserver.ntlm.SSOFilter.doFilter(SSOFilter.java:66)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ci.cryoserver.ntlm.NTLMPostFilter.doFilter(NTLMPostFilter.java:39)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ci.cryoserver.frontend.filter.CharsetFilter.doFilter(CharsetFilter.java:152)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: microsoft.exchange.webservices.data.ServiceXmlDeserializationException: An element node 'soap:Header' of the type START_ELEMENT was expected, but node '{http://schemas.xmlsoap.org/soap/envelope/}Body' of type START_ELEMENT was found.
        at microsoft.exchange.webservices.data.EwsXmlReader.internalReadElement(EwsXmlReader.java:121)
        at microsoft.exchange.webservices.data.EwsXmlReader.readStartElement(EwsXmlReader.java:625)
        at microsoft.exchange.webservices.data.ServiceRequestBase.readSoapHeader(ServiceRequestBase.java:565)
        at microsoft.exchange.webservices.data.ServiceRequestBase.readResponse(ServiceRequestBase.java:525)
        at microsoft.exchange.webservices.data.SimpleServiceRequestBase.readResponse(SimpleServiceRequestBase.java:171)
        at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:49)
        ... 40 more
    This Account is working perfectly with autodiscovery mode. any fix for this ?

  • SOAP Envelope - HTTP_EXCEPTION - HTTP 500 Internal Server Error

    Pessoal, o cliente em que estou utiliza uma solução para NFe que não é o GRC.
    Para tentar solucionar o problema do SOAP 1.2 e do message header, estou tentando criar o SOAP Envelope utilizando um XSLT, e no Communication Channel eu estou flegando Do not use soap envelope e colocando os modules para os charset, assim como na nota da SAP.
    O que está ocorrendo é que estou tendo o seguinte erro:
    com.sap.aii.af.ra.ms.api.DeliveryException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    Conversei com um rapaz na SEFAZ e ele diz que não está chegando nada pra ele.
    O SOAP Envelope que estou mandando é:
       está dentro de tags CDATA.
    Alguém saberia o que está ocorrendo?
    Muito obrigao,
    Leandro Rocha

    Olá Henrique, muito obrigado pela rápida resposta.
    O erro que dá no audit log é:
    SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error. Setting message to status failed.
    A mensagem que aparece no adapter é a padrão do SOAP Document:
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    - <SOAP:Header xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:wsse="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    - <SAP:Main versionMajor="3" versionMinor="0" SOAP:mustUnderstand="1" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>dfe81887-3f6a-55f1-b933-0050568169b4</SAP:MessageId>
      <SAP:TimeSent>2010-11-04T13:36:35Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>NFe_recepcao</SAP:Service>
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>SEFAZ_RS</SAP:Service>
      </SAP:Receiver>
      <SAP:Interface namespace="http://www.gerdau.com.br/nfe">NFe_recepcao_inbound_sync</SAP:Interface>
      </SAP:Main>
    - <SAP:ReliableMessaging SOAP:mustUnderstand="1">
      <SAP:QualityOfService>BestEffort</SAP:QualityOfService>
      </SAP:ReliableMessaging>
    - <SAP:Diagnostic SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information</SAP:TraceLevel>
      <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
    - <SAP:HopList SOAP:mustUnderstand="1">
    - <SAP:Hop timeStamp="2010-11-04T13:36:39Z" wasRead="false">
      <SAP:Engine type="PE" />
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">PE</SAP:Adapter>
      <SAP:MessageId>dfe81887-3f6a-55f1-b933-0050568169b4</SAP:MessageId>
      <SAP:Info />
      </SAP:Hop>
    - <SAP:Hop timeStamp="2010-11-04T13:36:39Z" wasRead="false">
      <SAP:Engine type="IS">is.00.ebsgerd26</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>
      <SAP:MessageId>dfe81887-3f6a-55f1-b933-0050568169b4</SAP:MessageId>
      <SAP:Info>3.0</SAP:Info>
      </SAP:Hop>
    - <SAP:Hop timeStamp="2010-11-04T13:36:41Z" wasRead="false">
      <SAP:Engine type="AE">af.p7d.ebsgerd26</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter>
      <SAP:MessageId>dfe81887-3f6a-55f1-b933-0050568169b4</SAP:MessageId>
      </SAP:Hop>
      </SAP:HopList>
      </SOAP:Header>
    - <SOAP:Body>
    - <sap:Manifest 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" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7">
    - <sap:Payload xlink:type="simple" xlink:href="cid:payload-DFE818873F6A21F1B9330050568169B4">
      <sap:Name>MainDocument</sap:Name>
      <sap:Description />
      <sap:Type>Application</sap:Type>
      </sap:Payload>
      </sap:Manifest>
      </SOAP:Body>
      </SOAP:Envelope>
    Mais uma vez, muito obrigado,
    Leandro

  • SOAP Receiver - HTTP header problem

    Hi,
    Scenario: IDOC - - XI - - SOAP(webservice).
    Third party is asking for missing "/" (path?) in header after "POST". Following is the message received by third party. How to override this header to put "/" after POST? Please help.
    POST  HTTP/1.0
    Accept: /
    Host: 100.10.2.5:9092
    User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
    Authorization: Basic Z2hydHNvYXA6bm92ZWxs
    content-id: <soap-48E034BD9F5B3308E1000000876CF529@sapcom>
    Content-Type: text/xml; charset=utf-8
    Content-Length: 313
    SOAPACTION: "#batchRequest"
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
        <SOAP:Header/>
        <SOAP:Body>
            <ns0:cvgtransaction xmlns:ns0='http://abc.com/xi/Novell' event='modify' workforceID='1' type='employee'>
                <attribute name='WWID' operation='replace'>1234567</attribute>
            </ns0:cvgtransaction>
        </SOAP:Body>
    </SOAP:Envelope>

    Hi!
    with XI standard tools you have no chance to manipulate the soap envelope created by the XI. You have to configure your soap receiver communication channel to not create a soap envelope "Do not use SOAP envelope") and then you use e.g. a XSLT mapping to create a soap envelope by yourself.
    Regards,
    Volker

  • Generating SOAP Envelope when DO NOT USE ENVELOPE option is marked

    My scenario: SPROXY => XI => 3rdParty WebService. Communication is synchronous. I've a problem with soap envelope. It is required by webservice, but when I use standard soap envelope generated by SAP I've a problem with receiving response from webservice.
    So I want to create my own envelope. For this reason I've used DO NOT USE SOAP ENVELOPE option. Now the challenge comes. How can I create my own soap envelope?
    Do you have any working example? Soap envelope should be added to message send from XI to 3rdParty WebService.
    Helping answers => a lot of points

    I'm talking about HTTP header.
    When I'm sending SOAP request from SAP my whole message looks like when I use soap envelope
    POST / HTTP/1.0
    Accept: */*
    Host: 192.168.132.179:54000
    User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
    Content-ID: <soap-02cce7702b1a11dd9902000c29ee261e[at]sap.com>
    Content-Type: text/xml; charset=utf-8
    Content-Disposition: attachment;filename="soap-02cce7702b1a11dd9902000c29ee261e[at]sap.com.xml"
    Content-Description: SOAP
    Content-Length: 259
    SOAPACTION:
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><ns0:Sd2Ids_SzfExport xmlns:ns0='http://www.dat.de/sdii/ids/Sd2SOAP.wsdl'><arg1>1234567899-0</arg1><arg2>1</arg2></ns0:Sd2Ids_SzfExport></SOAP:Body></SOAP:Envelope>
    Always after such request I got and HTTP 411 error.
    In opposite, when I'm sending request from e.g. Altova or SoapUI, my message looks:
    POST / HTTP/1.1
    Content-Type: text/xml; Charset=UTF-8
    User-Agent: XML Spy
    Host: 192.168.132.179:54000
    Content-Length: 489
    Connection: Keep-Alive
    Cache-Control: no-cache
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Body>
              <m:Sd2Ids_SzfExport xmlns:m="http://www.dat.de/sdii/ids/Sd2SOAP.wsdl">
                   <arg1 xsi:type="xsd:string">1234567899-0</arg1>
                   <arg2 xsi:type="xsd:string">1</arg2>
              </m:Sd2Ids_SzfExport>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    After that request WebService response is correct.
    You can find such differences (except Content-length which is a result of XML message formatting) in those two headers:
    - for first is used HTTP 1.0 protocol for later 1.1
    - in SAP header an info about attachment is added
    After a lot of test I thing that those attachment info in header of HTTP is causing a problem. So I want to use DO NOT USE SOAP ENVELOPE option to generate HTTP header without Content-Disposition and generate SOAP Envelope manually.

  • Error with Do Not use SOAP envelope

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

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

  • 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 Envelope encodingStyle

    Hi experts,
    I have a PI SOAP Receiver, sending to a Java Powerbuilder app. I am getting an HTTP 200, but with an error message in SXMB_MONI:
    <SAP:Category>XIAdapterFramework</SAP:Category>
    <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: java.lang.NullPointerException; HTTP 200 OK</SAP:AdditionalText>
    When I execute the same scenario using soapUI instead of PI, using the same SOAP Payload, I get no SOAP body, only this HTTP Response (HTTP 200 OK as well):
    " No mapping found for 'class java.lang.String' using encoding style 'http://xml.apache.org/xml-soap/literalxml'  "
    When I change the Payload slightly in soapUI, ie. adding an encodingStyle attribute to the SOAP Envelope, I get the expected response message ("Test OK").
    To summarize:
    PI sends this SOAP Envelope, which the remote app cannot accept (no mapping found):
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    When the SOAP Envelope is modified like below, the test is ok:
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"        
                   SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    Any ideas how I can add an encodingStyle attribute ?
    kr,
    Peter Glas

    An sdn search gave me this thread to create custom SOAP envelop
    Generating SOAP Envelope when DO NOT USE ENVELOPE option is marked

  • Parse a soap envelope

    I have a SOAP response envelope that I am trying to parse using extractvalue.
    The response is stored in a xmltype field in a table.
    Table
    create table ws_results
    (x xmltype);SOAP Response
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
         <s:Header>
              <ActivityId CorrelationId="12855f8e-d2be-40c7-81d8-fafa3cf9a779" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">d24174d3-e095-460a-b9f8-2bae66efe813</ActivityId>
         </s:Header>
         <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
              <FetchResponse xmlns="urn: WA.Ecy.ADS.FacilitySite.Services">
                   <FacilitySiteId>99997167</FacilitySiteId>
              </FetchResponse>
         </s:Body>
    </s:Envelope>Here is the SQL that I attempting to use to get the Facility Site ID out
    select extractvalue(x,'/FetchResponse/FacilitySiteId') from ws_results;
    select extractvalue(x,'/FetchResponse/FacilitySiteId','xmlns="http://microsoft.com/wsdl/types/"')
    from ws_resultsThese returns a null.
    Seems like this should be pretty straightforward and I am sure that I am missing something small. Any help would be appreciated.
    Thanks, Tony

    The problem seems to be (at least with me testing) is the xmlns="urn: WA.Ecy.ADS.FacilitySite.Services". Oracle considers it invalid xpath. If it is replaced with "http://www.ms.com/xml", then it seems OK with xpath. You can test this:
    declare
         ---v_xmlText          clob ;      ---varchar2(32765);
         v_xmlText          sys.xmltype;
         v_FacID               varchar2(50) := null;
         v_FacilitySiteId     varchar2(50) := null;
         v_FacilitySiteName     varchar2(50) := null;
    begin
         v_xmlText := sys.xmlType('
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
         <s:Header>
              <ActivityId CorrelationId="48538673-36c0-4f6d-8c05-94b753d0e3ab"
              xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">
              b4af9688-a929-4b9f-a187-fb68f3927240
              </ActivityId>
         </s:Header>
         <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
              <FacilitySiteResponse xmlns="http://www.ms.com/xml">
                   <FacilitySiteEntity>
                        <Id>99997167</Id>
                        <FacilitySiteId>99997167</FacilitySiteId>
                        <FacilitySiteName>My New Test Facility</FacilitySiteName>
                        <FacilitySiteKeySearchName>My New Te</FacilitySiteKeySearchName>
                        <VirtualSiteFlag>78</VirtualSiteFlag>
                        <GeographicLocationId>99997167</GeographicLocationId>
                        <CreatedDate>2008-11-07T07:32:21.07</CreatedDate>
                        <ModifiedByName>taus461</ModifiedByName>
                        <ModifiedDate>2008-11-07T07:44:20.723</ModifiedDate>
                        <CreatedByName>taus461</CreatedByName>
                   </FacilitySiteEntity>
                   <GeographicLocationEntity>
                        <Id>99997167</Id>
                        <GeographicLocationId>99997167</GeographicLocationId>
                        <AddressLine1>2020 22nd Ave SE</AddressLine1>
                        <CityName>Olympia</CityName>
                        <CongressionalDistrictNumber xsi:nil="true"/>
                        <COORD_XTNT_CD xsi:nil="true"/>
                        <HorizontalDatumCode>3</HorizontalDatumCode>
                        <HorizontalAccuracyLevelCode>13</HorizontalAccuracyLevelCode>
                        <HorizontalCollectionMethodCode>2</HorizontalCollectionMethodCode>
                        <GeographicPositionCode>8</GeographicPositionCode>
                        <LatitudeDecimalNumber xsi:nil="true"/>
                        <LatitudeDegreeNumber xsi:nil="true"/>
                        <LocationVerifiedFlag xsi:nil="true"/>
                        <LatitudeMinutesNumber xsi:nil="true"/>
                        <LatitudeSecondsNumber xsi:nil="true"/>
                        <LongitudeDecimalNumber xsi:nil="true"/>
                        <LongitudeDegreeNumber xsi:nil="true"/>
                        <LongitudeMinutesNumber xsi:nil="true"/>
                        <LongitudeSecondsNumber xsi:nil="true"/>
                        <BaseReferenceCode>SPCS</BaseReferenceCode>
                        <SOURCE_SCALE_CD>99</SOURCE_SCALE_CD>
                        <VerticalMeasureNumber xsi:nil="true"/>
                        <VerticalMeasureUnitCode>FT</VerticalMeasureUnitCode>
                        <VerticalReferenceCode xsi:nil="true"/>
                        <VerticalCollectionMethodCode xsi:nil="true"/>
                        <VerticalDatumCode xsi:nil="true"/>
                        <VerticalAccuracyLevelCode xsi:nil="true"/>
                        <CountyCodeNumber xsi:nil="true"/>
                        <LocationDescription1>This is my test facility decription</LocationDescription1>
                        <EPARegionName xsi:nil="true"/>
                        <GISVerifiedFlag xsi:nil="true"/>
                        <LegislativeDistrictNumber xsi:nil="true"/>
                        <IndianLandFlag>78</IndianLandFlag>
                        <RangeDirectionCode xsi:nil="true"/>
                        <RangeNumber xsi:nil="true"/>
                        <RegionCode/>
                        <SectionNumber xsi:nil="true"/>
                        <StateCode>WA</StateCode>
                        <SPCSXCoordinateNumber xsi:nil="true"/>
                        <SPCSYCoordinateNumber xsi:nil="true"/>
                        <SPCSZoneCode xsi:nil="true"/>
                        <TownshipDirectionCode xsi:nil="true"/>
                        <TownshipNumber xsi:nil="true"/>
                        <UTMXCoordinateNumber xsi:nil="true"/>
                        <UTMYCoordinateNumber xsi:nil="true"/>
                        <UTMZoneCode xsi:nil="true"/>
                        <WRIAIdNumber xsi:nil="true"/>
                        <ZipCode>98501</ZipCode>
                        <PLAIndicatorCode xsi:nil="true"/>
                        <GISReferenceNumber xsi:nil="true"/>
                        <GISCalculatedLatDecimalNumber xsi:nil="true"/>
                        <GISCalculatedLongDecimalNumber xsi:nil="true"/>
                        <ModifiedByName>taus461</ModifiedByName>
                        <ModifiedDate>2008-11-07T07:44:20.74</ModifiedDate>
                        <CreatedDate xsi:nil="true"/>
                        <CreatedByName>taus461</CreatedByName>
                        <FacilitySite>
                             <Id>99997167</Id>
                             <FacilitySiteId>99997167</FacilitySiteId>
                             <FacilitySiteName>My New Test Facility</FacilitySiteName>
                             <FacilitySiteKeySearchName>My New Te</FacilitySiteKeySearchName>
                             <VirtualSiteFlag>78</VirtualSiteFlag>
                             <GeographicLocationId>99997167</GeographicLocationId>
                             <CreatedDate>2008-11-07T07:32:21.07</CreatedDate>
                             <ModifiedByName>taus461</ModifiedByName>
                             <ModifiedDate>2008-11-07T07:44:20.723</ModifiedDate>
                             <CreatedByName>taus461</CreatedByName>
                        </FacilitySite>
                   </GeographicLocationEntity>
                   <IsOperationSuccess>true</IsOperationSuccess>
              </FacilitySiteResponse>
         </s:Body>
    </s:Envelope>');
         select fac.facID, fac.FacilitySiteId, fac.FacilitySiteName
              into v_FacID, v_FacilitySiteId, v_FacilitySiteName
         from
         xmltable
              xmlnamespaces
                   default 'http://www.ms.com/xml'     
                   ---'http://www.ms.com/xml'
                   ---'http://schemas.xmlsoap.org/ws/2004/08/addressing' as "wsa",
                   ---'http://www.w3.org/2003/05/soap-envelope' as "soap"
              '//FacilitySiteResponse'
              passing v_xmlText
              columns
              FacID               varchar2(50)     path     '//FacilitySiteEntity/Id',
              FacilitySiteId          varchar2(50)     path     '//FacilitySiteEntity/FacilitySiteId',
              FacilitySiteName     varchar2(50)     path     '//FacilitySiteEntity/FacilitySiteName'
         ) fac;
         dbms_output.put_line('FacID = ' || v_FacID);
         dbms_output.put_line('FacSiteID = ' || v_FacilitySiteId);
         dbms_output.put_line('FacSiteName = ' || v_FacilitySiteName);
                    select extractValue(v_xmlText, '//FacilitySiteResponse/FacilitySiteEntity/Id', 'xmlns="http://www.ms.com/xml"')
         into v_FacID from dual;
                   dbms_output.put_line('FacID = ' || v_FacID);
    end;
    /FacID = 99997167
    FacSiteID = 99997167
    FacSiteName = My New Test Facility
    FacID = 99997167
    PL/SQL procedure successfully completed.

  • Two SOAP Envelope's in OSB Response document

    Hi,
    I'm getting two SOAP envelope's (with same body in both envelopes) in the Response document while testing in OSB console. Can you pls let me know what could be the reason.
    Thanks

    Hi Vlad,
    Actually I'm getting the response that I need. But I'm getting it two times in Response document tab of OSB test console.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    <soapenv:Body>
    <result>Success</result>
    </soapenv:Body>
    </soapenv:Envelope>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    <soapenv:Body>
    <result>Success</result>
    </soapenv:Body>
    </soapenv:Envelope>
    What I'm expecting is only one SOAP Envelope.
    Thanks
    Edited by: bpeltechie on Sep 13, 2012 11:28 AM

  • Reading through a Soap Envelope

    Hello,
         The scenario is a synchronous, PI is sending a request to a web service hosted on the third pary systems. The request has been initiated by the method provided in the WSDL.The third party system is sending the response in terms of a Soap Envelope to PI.There is no method existing in the WSDL provided to carry envelope. How to read the soap envelope sent to PI.
    Regards,
    Kiran.

    SOAP Adapter Sender - PI host webservice - so  setting options do not use envelope and adding parameter in the WSDL URL can provide control to have soap envelope and header inside the PI boundary to use them. William's blog explains it.
    SOAP Adapter Receiver-  PI consume webservice- Adding the same options to send soap envelope and soap header to third party system. In other words, Not adding those options will not provide envelope and header details in the request message to third party.
    Abhisek's comment is correct. I concur.
    If third party not sending envelope and header information in their response message, You cannot get it.  If you need then you might have to create the message structure as you need using XSLT mapping or java mapping

  • Parsing SOAP Envelope

    I am new to mobile web services. I need to create a parser but my code didnot work:( Could you please help me?
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    import java.io.*;
    import javax.microedition.midlet.*;
    import org.ksoap2.SoapEnvelope;
    import org.kxml2.io.KXmlParser;
    import org.xmlpull.v1.XmlPullParserException;
    import java.io.ByteArrayInputStream;
    * @author Welcome
    public class MobileSOAPParsingMidlet extends MIDlet {
    String msg1="<S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\"> <S:Header/>" +
    " <S:Body> <ns2:Add xmlns:ns2=\"http://webservice/\"> <x>5</x>" +
    " <y>8</y> </ns2:Add> </S:Body></S:Envelope>";
    String msg2 = " <Envelope Version= \"1\"> <Body> <WebService> <Action>Add</Action> <x>5</x> <y>8</y> </WebService> </Body></Envelope>";
    String msg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
    "<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\">\n" +
    " <getRating xmlns=\"http://tempuri.org\">\n" +
    " </getRating>\n" +
    " </soap:Body>\n" +
    "</soap:Envelope>";
    public void startApp() {
    byte[] xmlByteArray = msg.getBytes();
    ByteArrayInputStream xmlStream = new ByteArrayInputStream( xmlByteArray );
    InputStreamReader xmlReader = new InputStreamReader( xmlStream );
    KXmlParser parser = new KXmlParser();
    try {
    parser.setInput(xmlStream, msg);
    } catch (XmlPullParserException ex) {
    ex.printStackTrace();
    SoapEnvelope soapenvelope=new SoapEnvelope(SoapEnvelope.VER12);
    try {
    soapenvelope.parse(parser);
    } catch (IOException ex) {
    ex.printStackTrace();
    } catch (XmlPullParserException ex) {
    ex.printStackTrace();
    // catch(UnsupportedEncodingException e){
    // System.err.println(e);
    public void pauseApp() {
    public void destroyApp(boolean unconditional) {
    }

    I accidently hit the post before the messag was composed.
    I'm trying to parse an XML soap envelope found in a collection. I can do it in TOAD but get a "ORA-01008: not all variables bound" message in APEX within a PL/SQL anonymous block
    Here is the code snippet:
    declare
    l_xml clob;
    l_pdf                    clob;
    begin
    select xmltype.createxml(cm.clob001)
    into l_xmlval
    from ....
    select l_xmlval.extract('//*[local-name()=''reportBytes]').getclobval()
    into l_pdf
    from dual;
    end;
    It is the presense of the two backslashes that cause the ORA-01008. Does anybody know how to resolve this problem?
    Alex

  • PB & web service : how to manipulate soap envelop ?

    Hi all,
    I am in the process of testing PB's ability to consume an existing web service. I have done some reading left and right.
    I can create the proxy , but i always end up having the Cannot invoke webservice messagebox.
    Here's my little piece of PB code 
    PB CODE START
    soapconnection conn // Define SoapConnection
    checkvatport proxy_obj // Declare proxy
    long rVal, lLog
    real amount
    date date_a
    string ls_a,ls_b,ls_c
    conn = create soapconnection  //Instantiated connection
    lLog = conn.SetSoapLogFile ("C:\mySoapLog.log")
    rVal = Conn.CreateInstance(proxy_obj, "checkvatport", "")
    messagebox("test rval",string(rval))
    // Create proxy object
    try
       date_a = today()
      boolean w_t
      w_t = TRUE
       str_checkvat str1
       tns1__checkvatresponse str2
      str1.countrycode = "BE"
      str1.vatnumber = "0810416786"
      ls_a  = proxy_obj.checkvat(str1.countryCode,str1.vatNumber,str2.requestdate,str2.valid,str2.address)
      messagebox("LS-a",ls_a)
    catch ( SoapException e )
       messagebox ("Error", "Cannot invoke Web service")
       // error handling  
    end try
    destroy conn
    PB CODE END
    And here's the soaplog contents
    SOAPLOG START
    CLOSED
    REQUEST:
    CLOSED
    POST /taxation_customs/vies/services/checkVatService HTTP/1.1
    Host: ec.europa.eu
    Connection: Keep-Alive
    User-Agent: EasySoap++/0.6
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:ec.europa.eu:taxud:vies:services:checkVat#checkVat"
    Content-Length: 654
    <E:Envelope
      xmlns:E="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:A="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:s="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:y="http://www.w3.org/2001/XMLSchema"
      E:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <E:Body>
    <m:checkVat
      xmlns:m="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
    <ns1:countryCode
      xmlns:ns1="urn:ec.europa.eu:taxud:vies:services:checkVat"
      s:type="y:string">BE</ns1:countryCode>
    <ns2:vatNumber
      xmlns:ns2="urn:ec.europa.eu:taxud:vies:services:checkVat"
      s:type="y:string">0810416786</ns2:vatNumber>
    </m:checkVat>
    </E:Body>
    </E:Envelope>
    RESPONSE:
    HTTP/1.1 500 Internal Server Error
    Date: Wed, 04 Jun 2014 09:33:11 GMT
    Transfer-Encoding: chunked
    Content-Type: text/xml; charset=UTF-8
    Server: Europa
    Connection: Keep-Alive
    Transfer is Chunked!
    01d7
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unmarshalling Error: unexpected element (uri:"urn:ec.europa.eu:taxud:vies:services:checkVat", local:"countryCode"). Expected elements are &lt;{urn:ec.europa.eu:taxud:vies:services:checkVat:types}vatNumber>,&lt;{urn:ec.europa.eu:taxud:vies:services:checkVat:types}countryCode> </faultstring></soap:Fault></soap:Body></soap:Envelope>
    0000
    GetChunkLength: 01d7 = 471
    Connection Disconnected
    SOAPLOG END
    Now i tried the to cut and paste the above soap envelop in SOAPUI , and it gives me the exact same error message as in the soaplog.
    I then tried creating a request through SOAPUI but based on the wdsl ,SOAPUI is giving me a different soap envelop as the one PB generated ?
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
       <soapenv:Header/>
       <soapenv:Body>
          <urn:checkVat>
             <urn:countryCode>?</urn:countryCode>
             <urn:vatNumber>?</urn:vatNumber>
          </urn:checkVat>
       </soapenv:Body>
    </soapenv:Envelope>
    If i enter parameters in the above envelop and check it through SOAPUI , i end up having the result i want.
    Is there any way we can manipulate the soap envelop contents ? Or does anyone have any idea why the soap envelop generated by PB ends up having the above mentioned error in the soaplog file ?
    What am i missing ?
    TIA
    John

    You're using the EasySOAP proxy.  You didn't mention what version of PowerBuilder, but if you're using a version that supports the .Net engine instead use that.  The EasySOAP web service support is quite old.
    Once you do that you won't be able to use the log.  Instead, use something like Fiddler to trap the request and response.

Maybe you are looking for

  • Automatic creation of Service PO via Service PR

    Dear Friends, We want to create Service PO automatically via service PR generated in PS module using account assignment category Network and service conditions per plant/ POrg/ vendor combination. What are prerequisities and settings required to crea

  • Thin lines in pdf file displayed on mac

    Hi, I don't know if this is the right place to bring this up.  So redirection elsewhere is appreciated! I've noticed a problem with displaying certain pdf files on a mac.  The files are 2D filled plots produced by the free scientific software Yorick

  • VGA Display Adapter to HDTV

    I purchased a VGA display adapter from Apple. I want to connect my iBook to a HDTV with HDMI interface. What cable do I need to connect the end of the adapter which appears to be a serial connector to the HDTV? Thanks for any assistance.

  • How much is too much to wait for the computer to work

    I need some help and ideas on this one since I am about to throw out every Apple product I have out the window. Let me try and keep it short: got my iMac end of June it crashes mid September took it to authorized service, told it will be fixed in two

  • Problems with transparency in interactive PDFs

    Hi, I am creating a 40pp document in InDesign CS6. The document is created as CMYK and will be issued as a printed piece but also there is an interactive version. For revision control purposes, I have created one document for both purposes, and have