Create/access SOAP header

Hello,
How can I implement a web service in jdev that extracts some elements from the SOAP header ?
How can I implement a web service proxy in jdev so that it inserts elements in SOAP header?
Thank you.
The operation WSDL looks approx like this:
          <operation name="SoapDDXML">
               <soap:operation soapAction="someaction"/>
               <input>
                    <soap:body
                         use="encoded"
                         namespace="ns"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                         parts="psXML"/>
               </input>
               <output>
<soap:Header>
<OurCredentials xmlns="ns">
<UserName>string</UserName>
<Password>string</Password>
</OurCredentials>
</soap:Header>
                    <soap:body
                         use="encoded"
                         namespace="ns"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                         parts="Result"/>
               </output>
          </operation>

Also facing the same problem - has anyone found an answer?
Thanks,

Similar Messages

  • Accessing SOAP header information in a custom adaptor module

    Hi Guys,
    Could anyone point me in the direction of information on how to access the SOAP:Header element when writing a custom adaptor module for a http/ SOAP communication channel?
    I'm trying to add some WS-Security stuff which isn't available in XI 3.0.
    Many thanks,
    John

    The solution is as follows:
    Mark as Do Not Use SOAPEnvelope in the communication channel.
    It may be possible to use the SAP implementation of MessageFactory, SOAPEnvelope etc., I forced XI the Apache Axis implementation, a thread on which can be found here Link: [Accessing SOAP header information in a custom adaptor module;
    The SOAP Envelope is created by
    javax.xml.soap.MessageFactory mf= org.apache.axis.soap.MessageFactoryImpl.newInstance();
    This doesn't work it creates a com.sap.engine.services.webservices.jaxm.soap.SOAPMessageImpl
    org.apache.axis.message.SOAPEnvelope env = new org.apache.axis.message.SOAPEnvelope();
    org.apache.axis.Message iSoapMessage = new org.apache.axis.Message(env);
    SOAPMessage sm = iSoapMessage;
    SOAPBody iBody = se.getBody();
    if(iBody!=null)
         iBody.addDocument(iDoc);
         addDocument failed for some reason when called in XI returning
         Exception caught by adapter framework: Exception in method process.
         The code below is copied straight from the addDocument method, but it works.
         org.w3c.dom.Element iDocRoot= iDoc.getDocumentElement();
         org.apache.axis.message.SOAPBodyElement bodyElement = new org.apache.axis.message.SOAPBodyElement(iDocRoot);
         iBody.addChildElement(bodyElement);
    In order to get a document representation of the Envelope you can use
    Document iEnvelopeDoc = ((org.apache.axis.message.SOAPEnvelope)env).getAsDocument();
    You are now in a position to add or adjust the SOAP Envelope as your require. It enabled me to add WS-Security information to a message.
    It is normally possible to use javax.xml.transform.Transformer on the various classes SOAPEnvelope, SOAPBody etc. as they implement Node. However doing this in XI caused a crash.
    The final document can be then be set in the xmlPayload before being sent out the door.
    Hope this helps someone,
    John

  • Could not access SOAP header - sending sopa message using weblogic

    i am using saaj to send a SOAP message ,through weblogic, i am getting an error like below
    Could not access SOAP header
    what should i do for sending a soap message using weblogic

    You're going to have to provide many more details than that. If it's useful, you could go here and read all the documentation books covering web services.

  • Soap Sender Adapter Preserve And Access Soap Header

    Hi,
    I would like to preserve the Soap Header created by a client and access it in a mapping using the the Soap Sender Adapter (SP16). Does anybody know how to do this?
    Kind regards,
    Heiko

    Hello Udo,
    I have found a solution to this problem. It is possible to add header entries to the DynamicConfiguration which is available by an API:
    soapMsg.append("<SOAP-ENV:Header>");
    soapMsg.append("<SAP:DynamicConfiguration xmlns:SAP=\"http://sap.com/xi/XI/Message/30\" xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP:mustUnderstand=\"1\">");
    soapMsg.append("<SAP:Record namespace=\"http://sap.com/xi/XI/System/SOAP\" name=\"SRmsUser\">test</SAP:Record>");      
    This code snip shows Java client code to add an element to the SOAP header which corresponds to the DynamicConfiguration. In XI it will be accessable using the respective API.
    Cheers,
    Heiko

  • Access soap header

    Hey there,
    is there a way to read out the custom header elements of the invoking soap message in a process? E.g. a client creates a soap message, adds optional information to the header and sends it to the bpel server. In order to react on that information, the process needs to access these data.
    Thanks!

    Another example to look at for this is the Sabre HotelShopFlow (I’ll see if I can send you this sample - please email me). All the interesting work is done in the WSDL for the service. If the WSDL for the service defines a multi-part input message, where some parts are mapped to the SOAP header and some to the soap body, then you are in good shape and can set those parts in BPEL like any other input message data. From the enterprise.wsdl in salesforce demo:
    <operation name="describeSObject">
    <soap:operation soapAction=""/>
    <input>
    <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
    <soap:body parts="parameters" use="literal"/>
    </input>
    And then from the BPEL code, the SessionHeader is set with:
    <copy>
    <from variable="loginResponse" part="parameters" query="/salesforce:loginResponse/salesforce:result/salesforce:sessionId">
    </from>
    <to variable="headerRequest" part="SessionHeader" query="/salesforce:SessionHeader/salesforce:sessionId"/>
    </copy>
    Note that if the WSDL does not define the header data as a messageType, then you will need to create your own local copy of the WSDL for the service and edit it to be what you want.
    (taken from one of the devloper responses to this question already available). Please let me know if you can move forward with this response.

  • How to create WSSE soap header?

    I need to connect to a web service and it requires WSSE security namespace in the soap header. Does anyone know to create it using Java in the soap header using WSSE security namespace?
    Thanks
    I'm using Jdeveloper 11g

    Doesn't jdeveloper has a wizard in creating a template code for the subject task.

  • XI APIs to access SOAP Header Tags

    Hi Forum,
    The way we use DynamicConfiguration class from com.sap.aii.mapping.api.* API, to access file names etc,
    is there classes available for accessing other tags in the SOAP Header, for example ReliableMessaging, PerformanceHeader, etc

    U can look into Adapter Specific attributes for soap adapter also. If you want to transfer header fields, set the relevant indicator for Variable Header in the SOAP communication channel. This is generic for header fields. Not sure about the particual fields
    Regards,
    Prateek

  • Creating Custom SOAP header in the Sender soap scenario

    Hello Experts,
    Currently i have a SOAP to RFC scenario . In which in the request parameter i have single input parameter. But as per the requirement we need to have some xml parameters in the soap header .
    So i want the soap request looks like below,
    <?xml version="1.0"?>
    -<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    -<SOAP-ENV:Header>
    -<ns0:TestHeader xmlns:ns0="http://testcustomer.com">
    -<MessageDetails>
    <ServiceType/>
    <ServiceAction>String</ServiceAction>
    <MessageRole rtype=""/>
    -<MessageSource>
    <SourceName/>
    <SourceID idtype=""/>
    </MessageSource>
    -<MessageDestinations>
    -<MessageDestination>
    <DestinationID idtype=""/>
    <DestinationName/>
    </MessageDestination>
    </MessageDestinations>
    <Property Name=""/>
    </MessageDetails>
    </ns0:TestHeader>
    </SOAP-ENV:Header>
    -<SOAP-ENV:Body>
    -<m:MT_CERT_IP xmlns:m="http://mydzit.gov.sa/zakat">
    <INPUT1>102140000007</INPUT1>
    </m:MT_CERT_IP>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Kindly let me know the steps, how can i achieve this ??
    I have referred the AddSOAPHeaderBean  module but still not received the needed output.
    Best Regards,
    Amit

    Hi Amit,
    My few cents.
    You have an example in Dimitri Sannen's blog Read SOAP header information doing the mapping with XSLT.
    Also, you have an other example like Dev Noronha suggestion, in William Li's blog How to Read SOAP Header Information
    Regards.

  • Accessing Soap header in webservices

    Hi,
    My webservice needs to read a soap header "locale" and do some processing based on this soap header.
    I understand the concept of handlers..but anywhere I see examples, the handler handles it and returns the data back.
    My requirement is that once this locale is retrieved, each of the webservice method should be able to read this locale, and do some processing based on that, as they need to return the localized data.
    I am not sure if I am missing something, but not yet able to find a direct way of doing it..
    Any response would be highly appreciated..
    Thanks

    user10455639 wrote:
    Yes I can..what I still dont understand from yourr email is why are you askign this..
    "if you can get the soap header"
    Because any header we should be able to retrieve from this context...Because I saw the following statement from [JavaDoc | http://e-docs.bea.com/wls/docs103/javadocs/weblogic/wsee/jws/JwsContext.html#getInputHeaders()].
    <<<<<<<<<<
    ....The SOAP headers used by WebLogic Workshop to manage conversations are included in the list of headers returned.
    <<<<<<<<<<
    If it works, then just use it :) because it is public supported
    Edited by: LJ on Apr 23, 2009 10:04 PM
    Edited by: LJ on Apr 23, 2009 10:21 PM

  • Access SOAP:Header section

    Hello,
    I need to call a WebService with some extensions in the SOAP:Header. I don't find a solution without a custom develop Adaptermodul which renders the whole SOAP request and uses the SOAP Adapter without the SOAP functions.
    What do you think ?
    Regards,
    Gerald

    Hi,
    We have the same problem with SP14.
    Looks like the soap adapter can't handle soap headers correctly.
    A workaround may be to use the http adapter instead and generate the xml envelope messages for request and parsing the response. We have tried this for document based soap and it works.
    Obbviously you would like to have the soap adapter fixed so it can support soap headers.
    Best regards otto

  • How to access SOAP header without using SOAP message handler

    I have a requirement to retrieve SOAP header information within each web services operation. So I can't use SOAP message handler. Is there any way to do that? BTW, I am not using workshop.
    Thanks.

    Howeve how can I put data into soap header in UDF? DynamicConfiguration won't work for soap header, right?
    Which data do you want ot put into the Header section.
    ASMA or Dynamic Configuration is used to read/ put the details from/ into the header elements.....
    Refer: http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    From the help section:
    This information is not located in the payload of the message, but in additional message header fields.
    Regards,
    Abhishek.

  • Access to SOAP Header/SOAP Envelope in OSB

    We have a need where we need to copy the SOAP header request to SOAP header response. Is there a way to access SOAP Header/SOAP Env in OSB ?
    Thanks,
    Pavan
    Edited by: user10413378 on Mar 6, 2010 7:14 AM

    There is $header variable with headers:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1093911
    You can pass all headers through using "Get All Headers" option in Proxy settings and Transport Headers - Pass all Headers in your flow:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1125345

  • Create XML with digital sign and SOAP header...

    Hi.
    With ABAP, I need create an XML file iwith SOAP envelope. The message has to be signed and the sign data saved in the ws-security part in the SOAP header. I have to sign the file with a X509v3 certificate in base64.
    Somebody can tell me how can create the SOAP header and sign it with ABAP for the XML.
    Thanks.

    Please refrain from implementing WS-Security yourself.
    NWAS ABAP 7.x provides support for WS-Security - in both roles, as Consumer and Provider.
    The right approach is to generate a proxy based on a given WSDL.
    What kind of (message-based) authentication is demanded by the WS Provider?
    Other info source: see https://wiki.sdn.sap.com/wiki/display/Security/SingleSignonforWeb+Services
    Edited by: Wolfgang Janzen on Jul 8, 2009 12:11 AM

  • Soap Header in Xcelsius: How to pass Credentials

    Using Xcelcius 2008 (Excelcius Engage)  We are making a dashboard application which uses the Web service connection to call SOAP based web services.
    Is there a way to Authenticate the Web Services passing User ID pwd from within one of the excel cells?
    The idea is to suppress the authentication and pass the credentials from within the excel cell or any other way which doesn't require user to log in to the Web services while running the Dashboards?
    Also I found out an option in Web Service Connection -> Advanced Tab to add a soap header which can include credentials. Is there a format in which I need to create this soap header? Any sample Soap Header would be of great help.

    I'd like to know how to do this also, seems silly to have the option to use web services but give no way of passing Basic Authentication credentials.
    Cheers
    Craig

  • SOAP Header

    Hi Experts,
    My scenario is to access the HEADER element in the incoming SOAP Header and use it as a condition for Receiver determination.
    Can somebody give example of
    1) XSLT / java  code which can be used to access SOAP Header elements.
    2) How use this to determine the receiver.

    Hi,
    You can achieve this by setting the Adapter-Specific Message Attributes under advanced tab in your CC.
    check below link for the same..
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
    Regards,
    Sarvesh

Maybe you are looking for