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.

Similar Messages

  • Sender SOAP adapter: access Header fields (dont use envelope and nosoap=1)

    Hi,
    I've just been going through various blogs regarding the SOAP adapter and receiving the actual unconverted content being sent to xi. Trying this out I dont get the exptected result.
    What I have done is simply created a web service in XI - added '&nosoap=true' to the url and set the flag in 'Do not use SOAP envelope'.
    After this I send synchronous message via xmlspy and receive error 'XIServer:CANNOT_READ_PAYLOAD'.
    When checking data received in MDT I only see the envelope containing my additional header info (provided in the request) + some XI headers + a body. The body however pretty much only contain a manifest. The actual payload data that I sent in my request a gone (hence the error message).
    When looking i SXMB_MONI i (naturally) also only see the header and body info - no payload. So when mapping step is reached it complains.
    I'm aware I should use mapping like xslt/java to map the message. But first I need to see the payload.
    Anybody got any clues?
    For information I'm running 2004 SP 19.
    Best Regards,
    Daniel

    Hi,
    This is not a matter of logging or trace levels - all these thing a set as needed.
    I do see the messages but I don't see the actual payload (the body-part sent with my request) in neither the AFW or IE.
    Regards,
    Daniel

  • How to send a signed SOAP message with additional HTTP Header fields

    Our Partner's integration requirements are that we send them asynchronous SOAP messages, that are digitally signed, and whose HTTP headers contains 5 or 6 additional header fields, of which 3 or 4 will need to be dynamically set during the message mapping.  I believe we can use the HTTP adapter for adding new fields to the HTTP header, but don't believe it supports signing.  I believe that the SOAP adapter supports signing, but I'm not clear on how to use it to add fields to the HTTP header.  What is the most straight-forward way to achieve both the signing of the message and the addition of the HTTP header values?
    Thanks,
    Kurt

    >>>What is the most straight-forward way to achieve both the signing of the message and the addition of the HTTP header values?
    Use Java mapping for both.
    1) Signing the message
    You can digitally sign the soap message using many standard api like WSS4j? or  refer Java XML signature API which comes in Jdk1.6.
    Refer these links
    WSS4J  -  http://ws.apache.org/wss4j/axis.html
    Java XML signature : http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/
    2) >>whose HTTP headers contains 5 or 6 additional header fields, of which 3 or 4 will need to be dynamically set during the message mapping
    Use Dynamic configuration API to set the additional header fields during message mapping.

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

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

  • 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

  • HTTP Header fields in SOAP adapter - Part 2

    Hi All,
    With regards to my previous thread HTTP Header fields in SOAP adapter
    my header issue is solved and hence I have closed the thread but still I am not able to make the connection successful. The new problem is below
    My vendor requirement is to specify the header as "Ent-sender" but when we give the same in XI in communication channel it automatically convets into uppercase "ENT-SENDER".  Due to case-sensitive in vendor server the connection is not gettingestablished.
    Please help me out how to solve the problem.
    <b>Note:</b> Sorry for the new thread as it was created due to new problem and also the previuos thread is already too long.
    Regards,
    Dhill

    Hi Neaves,
      Thank you, I jave seen the note and find the below solution will be some what realated to my prblem.
    <u><b>The nosoap mode lets the adapter send the XI payload directly without wrapping it in the SOAP envelope. Although the main use of this mode is to send some plain text content directly to some web server, one can use this mode to send their own SOAP message (e.g., with arbitrary headers) to an external web service (See related questions). In this case, the XI payload must be formatted in the SOAP envelope.
               To use the nosoap mode, the channel must be configured to use no SOAP envelope.</b></u>
    If yes, can you please let me know how to use nosoap mode otherise let me the other possibilities.  I am already using tcpg2.zip to trace the SOAP adapter in which it was confirmed that XI is changing the header automatically into CAPS whatever case we give,
    Regards,
    Dhill

  • SOAP Sender with additional header: Interface determination error

    Hello Experts,
    I need to implement a scenario where in sender will add custom header fields and in PI, the values needs to captured. Second step: Based on the custom header value, the receiver needs to be determined.
    Scenario: SOAP Sender -> PI -> SOAP Receiver
    Request Message:
    <RequestMsg>
         <request>
              <Field 1>...</Field 1>
              <Field 2>...</Field 2>
              <Field 3>...</Field 3>
         </request>
    </RequestMsg>
    Without any custom SOAP header, I have created Request / Response Message, Message Mapping, Service Interfaces (Inbound & Outbound) and Operation Mapping and tested the scenario by triggering call through SOAP UI, it works fine. SOAP Request XML looks like below:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:v1="http://www.test.abc.com/v1">
        <soapenv:Header />
        <soapenv:Body>
          <v1:RequestMsg>
             <request>
                  <Field 1>1</Field 1> 
                   <Field 2>2</Field 2>
                   <Field 3>3</Field 3>
             </request>
          </v1:RequestMsg>
       </soapenv:Body>
    </soapenv:Envelope>
    To use customer fields in SOAP Header, I have checked the option "Do Not Use SOAP Envelope" in the SOAP Sender CC and added "&nosoap=true" to url. SOAP Request XML looks like below:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:v1="http://www.test.abc.com/v1">
        <soapenv:Header >
              <id>REC1</id>
         </soapenv:Header >
        <soapenv:Body>
          <v1:RequestMsg>
             <request>
                  <Field 1>1</Field 1> 
                   <Field 2>2</Field 2>
                   <Field 3>3</Field 3>
             </request>
          </v1:RequestMsg>
       </soapenv:Body>
    </soapenv:Envelope>
    Now, when I invoke the url, I see that the message reaches PI but it throws error: RoutingException: InterfaceDetermination did not yield any actual interface
    Please note that I have added a Java Mapping before main message mapping to read the soap header and pass only the request message to the next message mapping.
    I am sure, I am missing important steps in the configuration. Please help me in reolving the issue.
    Thanks & Regards,
    Ankit Srivastava

    Hello Hareesh,
    Bingo! The second option suggested by Nicolas worked like a charm. I am just copying the same here:
    -----In ESR, you set the attribute "Interface Pattern" of the outbound service interface as "Stateless (XI30-compatible)", which does not use operations.----
    Thanks a lot. Now, I will be able to concentrate on the next steps.
    Regards,
    Ankit Srivastava

  • How i use header fields in soap adapter

    Hi Experts,
    I need use  header fields http  in soap adapter receiver but i don't know where's the Variable Header
    Do you know where i find this?
    Somebody know how i put header fields http in soap adapter receiver?
    Thanks for all,

    It is similar like in this blog:
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Find in the online help the values for the SOAP adapter.
    You can only add additional fields, you cannot influence the standard field like content-type and content-id.
    Regards
    Stefan

  • Accessing Message Header fields from envelope

    I am doing an interface with the RNIF adapter. They want me to pull the delivery header information, which is in the RNIF envelope, not the payload document and map it into some fields that exist in the inbound schema. Can this be done in message mapping? I would suppose that this question would apply if one wanted message header fields from the SOAP envelope also.
    Kind Regards,
    Chris

    Have you checked this ?
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/content.htm
    Regards,
    Amol

  • HTTP Header fields in SOAP adapter

    Hi All,
      I have a scenario IDoc to SOAP adapter. In which my receiver given the details as
    URL : https://b2b.ecsc.us.gxs.com/invoke/GXSGateway:receiveCTE
    Header Name:             Header Value
    Ent-sender                xxxx
    Ent-receiver              yyyyy
    Ent-APRF                 zzzzz
    Ent-filename             (not sure what data need to give)
    1. I request you to let me know where I need to give these headername and hader values in soap adapter. 
    2. my client require file as an attachment.  Please let me know how I need to send the payload as an file and where the name need to be given in the header name (Ent-filename).
    Currently I used  MessageTransformBean to conver my XML to text structure(flatfile structure).
    Please let me know if any more details required
    Regards,
    Dhill

    Was out for lunch break..
    Juz Rechecking
    Transport Protocol : HTTP
    Message Protocol: Soap 1.1
    Adapter Engine -> Adapter Engine on the Integration Server
    Connection Parameters
    Target URL - > https://b2b.ecsc.us.gxs.com/invoke/GXSGateway:receiveCTE
    Sure about no sever authentication required  and they are not using any HTTP proxy for webservice >????
    Conversion Parameters
    Do Not Use SOAP Envelope -> Unchecked
    Keep Headers -> Checked.
    Keep Attachments -> Unchecked
    Use Encoded Headers -> Unchecked
    Use Query String -> not so sure might be Unchecked
    <b>Authentication Keys</b>
    If authentication is required for the receiver system, you can enter a password and a confirmation for each key value. This means that you do not need to write passwords in the enhanced message header.
    If you want to specify or display authentication keys, select View Authorization Keys.
    You can enter and confirm passwords for each authentication key value (TAuthKey or TproyxAuthKey).
    Try once sending the message with Adapter-Specific Message Attributes
    Unchecked. See if there is a hit.I knw itz not req but juz testing.
    Yeah adapter stat must be active.
    Last thing need to go through the whole scenario.
    <b>Cheers,
    *RAJ*
    *REWARD POINTS IF FOUND USEFULL*</b>

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

  • Reading Header data in a SOAP Envelope for SOAP Sender Adapter

    Hello All,
    Am using a SOAP sender adapter and want to use the data inside the SOAP Header for some routing purpose(extended receiver determination). Any SOAP message coming into XI will look something like below. But XI will pass the contents of <SOAP-ENV:Body> to Payload and <SOAP-ENV:Header> to the SOAP Header category you can see that in SXMB_MONI.
    Is there a way to read the data in my SOAP Header to be later used in my extended receiver determination.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:Q-ENV="/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <SOAP-ENV:Header>
              <Q-ENV:Header>
                   <Q-ENV:Sender-Id>1</Q-ENV:Sender-Id>
                   <Q-ENV:Receiver-Id></Q-ENV:Receiver-Id>
                   <Q-ENV:Correlation-Id></Q-ENV:Correlation-Id>
                   <Q-ENV:Message-Id></Q-ENV:Message-Id>
                   <Q-ENV:Date-Sent></Q-ENV:Date-Sent>
                   <Q-ENV:Document-Type></Q-ENV:Document-Type>
                   <Q-ENV:Message-Format></Q-ENV:Message-Format>
              </Q-ENV:Header>
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
              <Q-ENV:Body>
                   <Q-ENV:Content-Type>text/xml</Q-ENV:Content-Type>
                   <Q-ENV:Message-Type></Q-ENV:Message-Type>
                   <Q-ENV:Encoding>UTF-8</Q-ENV:Encoding>
                   <Q-ENV:Message-Body>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Thanks for your replies in advance.
    Regards,
    Prashanth

    Hello,
    but they were not getting any response back from XI and the sending system kept resending the message.. may be it was acting like a HTTP post.
    The method that is used by the native SOAP Adapter is always HTTP Post. Not sure why you are not getting a response, have you checked the outbound firewall of the sending party or the inbound firewall of XI? To which SOAP URL are you sending to?
    Hope this helps,
    Mark

Maybe you are looking for

  • How do I create an instrument on Garage Band 08?

    I have some sound/synth patches that I want to play and use with my midi controller as a software instrument track . It wont let me drag them in so I guess I have to make it into an instrument. Ive searched to try and find out how to do this, but to

  • Got Quicktime Pro with my Mac Pro, where do I find my registration code?

    When I bought my Mac Pro two years ago it came with QT Pro. I've now reinstalled my computer, how do I get my QT to be Pro again?

  • Dead links in iWeb site - IE only

    I have just published my first iWeb site: www.envisioningchange.ca All seems to work great in Safari and Firefox (though plug-in for social media sharing "Add This" is down right now), however many of the links, some of them in the text (not just nav

  • Pre 8 presets

    Hi,  I have used Pre 4 successfully since it was released with a Sony HC5 camera. I just bought a Sony HDR-XR550 camera which records in AVCHD. I have it set to record in 1920 X 1080/60i format. I am just gettig started with Pre 8 and was unsure of w

  • Recovering deleted images off the internal memory(...

    hi, i have an old Nokia 7373 that and am trying to look for some pictures am sure where on the phone, ive tried TransPic ( a very good recovery tool ) and there not on the memory card so all i can think is that there on the internal memory. has any1