Read SOAP Header tag

Hi,
I'm using with great success JDEV9.0.3prod for create and deploy web services. I maked all with wizard.
All work, but now I would read and manage SOAP header tag.
This is the question: how is possible to read the header tag of the SOAP Message, using jdev wizard?
Any help would be very appreciated.
Thank in advanced.
massimo

Unfortunately, the JDev wizards don't help access the header characteristics, yet.
It is further complicated in that the Oracle9iAS Web Services implementation right now does not have a good way to get the header information, however, the Apache SOAP implementation that also ships with Oracle9iAS does.
As we go forward to JAX-RPC the API's for the header will be exposed. If absolutely necessary now, you can use the Apache SOAP implementation (we are actually at 2.3.1) so the doc at xml.apache.org on Apache SOAP and pointers to headers should give you an idea of how to approach it.
Sorry I don't have any code samples to point you at.
Mike.

Similar Messages

  • SOAP Header Tag

    Hi All,
    Is there any way out to eliminate the tag <SOAP:Header/> while sending the message to a legacy system using a receiver SOAP adapter.
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelop
    e/'>
    <SOAP:Header/>
    <SOAP:Body>
    Need to eliminate the SOAP:Header tag while sending...Is this possible in any way..
    Thanks
    Amit

    Hi All
    We have a empty SOAP Header tag which needs to be suppressed so that the target system receives the data...
    Any way we can achieve this without going in for adapter module..
    I have tried with Do not use SOAP envelope, Encoded headers...All options dont yield the desired result..
    It is an empty <SOAP Header/> tag which we want to eliminate..

  • Read SOAP Header Information

    Hello All,
    We want to read SOAP header from incoming message. We followed blog from William to use the option "Do not use SOAP Envelop". However, we are not sure if we need to modify Sender Interface to include Envelope / Header in the message structure itself.
    How to Read SOAP Header Information
    If we modify the message structure , it changes the WSDL as well and generating request message something like below :
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aif="urn://transport.nsw.gov.au/test/poc/aif">
       <soapenv:Header/>
       <soapenv:Body>
          <aif:Envelope>   <------- Added by Modifying the structure
             <Header>
                <FileType>?</FileType>
             </Header>
             <Body>
                <MessageHeader>
                   <!--Optional:-->
    How can we use  "Do not use SOAP Envelop" feature without modifying the WSDL structure?
    If we don't modify the message structure , it is failing to identify the receiver and also we would not be able to see the fields while doing graphical mapping.
    Thanks !!

    Hi,
    Did you check the namespaces in your receiver determination? In interface determination, this could be solved by creating another mapping. Which PI version are you using?
    Regards,
    Mark

  • 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

  • Remove Soap Header while calling a WS from BPEL 11g

    Hi
    My requirement is to remove the entire SOAP Header tag in the invoke activity. How this can be achieved? Please help
    thanks
    Sesha

    Note sure if this possible.. but just wondering if you can try using <bpelx:remove> extention to delete the soap header variables..
    Other viable option is to write SOAP Message handlers on your outbound webservices...

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

  • Dynamic Receiver Determination using Soap header

    Hi ,
       I am trying to use a field in SOAP Header to determine the receivers dynamically.
    1, Using XPATH gives me only values in the Payload and not the SOAP header. Is it possible to pull the value from the SOAP header to the payload and then do dynamic receiver determination.
    2. Using Context Object is it possible to transfer the value of the field in SOAP header to variable header Xheadername1 and then use it to determine the receiver. I am having problems in passing the value of the field in soap header to XHeadername1.
    Any help is appreciated and points will be awarded.
    Joe Vellaiparambil

    Hi Joe,
    This is a good blog by William, hope this is helpful.
    /people/william.li/blog/2009/07/30/how-to-read-soap-header-information
    Let us know if you need more information.
    Regards,
    Neetesh

  • Get data from SOAP Header in udf

    Hi,
    I want to get value of a SOAP header Runtime Field and use it in udf.
    The field I need is <SAP:EOReferenceInbound type="TID">. I think I need to use function getTransformationParameters() but I don't know how to use it.
    Can you help me to retrieve this value of SOAP Header in a mapping ?
    Thank you.

    Check this blog: /people/william.li/blog/2009/07/30/how-to-read-soap-header-information
    Make sure that your message structure is defined properly so that it even includes the header fields...otherwise it will throw an error....once you get the value in the field then transfer it as you like using the mapping.
    From the above blog:
    The SOAP sender communication channel gives us an option to send the complete SOAP XML, including the header. Then, we just
    need to construct a message type in the Enterprise Service Repository (ESR) or Integration Repository (IR) to represent the XML.
    With that, message mapping can be performed.
    Regards,
    Abhishek.

  • Remove XI-part of SOAP Header in Axis Adapter

    Hi folks!
    We are running a PI 7.11 and use the SOAP Axis Sender Adapter in a synchronous SOAP Web Service scenario. Our challenge is that in our response we definitely need a SOAP Header tag, but it should be empty like this <soapenv:Header/> or this <soapenv:Header></soapenv:Header>
    We tried to achieve this with the Axis Handler com.sap.aii.axis.soap.HeaderRemovalHandler. But regardless of the parameters we provide to this handler it always removes the complete SOAP Header. On sample is to remove the PI-specific Main header tag from SOAP Header:
    name.1=Main
    namespace.1=http://sap.com/xi/XI/Message/30
    We also tried it only with namespace. But always the same sh... happens: The SOAP Header is removed completely.
    Any ideas?
    Thanx very much in advance!
    Regards,
    Volker

    Hi Stefan!
    Thanx for your reply. We found that Axis handler mentionedby me in SAP Note 1039369 "FAQ XI Axis Adapter" .
    But please tell me how to parameterize the java:com.sap.aii.axis.xi.XI30InboundHandler to ensure that the XI part of SOAP header is removed, but not the complete SOAP header.
    Thanx in advance!
    Regards,
    Volker

  • SOAP header information [continued]

    Dear,
    It all started here Get SOAP header information
    The fact is that I get the WSDL delivered and I need to upload that into the ESR.
    Next step is to create/generate a Service Interface.
    What I see in the WSDL binding
    After I generated a Service Interface
    Where is my SOAP header part? It seems to be gone in the Service interface?
    I tried this for both SOAP 1.1 and 1.2. Both the same phenomenon.
    Any suggestions?
    Thanks a lot
    Kind regards, Dimitri

    Hello Dimitri,
    Have you got any solution of the issue ?
    I think William's blog answer's that :
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2009/07/30/how-to-read-soap-header-information
    However, It suggests to modify XML structure for sender interface as well. By doing so , it gives other challenge as described below :
    If we modify the message structure , it changes the WSDL as well and generating request message something like below :
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aif="urn://transport.nsw.gov.au/test/poc/aif">
      <soapenv:Header/>
      <soapenv:Body>
          <aif:Envelope>   <------- Added by Modifying the structure
             <Header>
                <FileType>?</FileType>
             </Header>
             <Body>
                <BusinessPartner>
                   <!--Optional:-->
    How can we use  "Do not use SOAP Envelop" feature without modifying the WSDL structure?
    If we don't modify the message structure , it is failing to identify the receiver and also we would not be able to see the fields while doing graphical mapping.
    Let me know if you got any other alternative.
    Thanks & Regards,
    Dijesh Tanna

  • OSB get the untouched soap header  / body

    Hi
    I have usecase where I need to pass xml signature messages through the OSB. When I create a passthrough proxy and business service without a assign or other operation then the soap message is passed through and the message is valid.
    When I try to get the header and body of the soap message and put this in canonical message and serialize the header and body. then transports this to a other osb server where I try to reconstruct the original message then it fails.
    it looks like when I try to get the $header and $body variable the OSB adds some namespaces to it and changes the message a little bit. Is there a way to get the original header and body.
    thanks Edwin

    Check this blog: /people/william.li/blog/2009/07/30/how-to-read-soap-header-information
    Make sure that your message structure is defined properly so that it even includes the header fields...otherwise it will throw an error....once you get the value in the field then transfer it as you like using the mapping.
    From the above blog:
    The SOAP sender communication channel gives us an option to send the complete SOAP XML, including the header. Then, we just
    need to construct a message type in the Enterprise Service Repository (ESR) or Integration Repository (IR) to represent the XML.
    With that, message mapping can be performed.
    Regards,
    Abhishek.

  • Query reg adding custom tags in SOAP Header - AXIS Receiver Adapter

    Hi All,
    I need to send custom tags as mentioned below to my traget webservice application. I think I can do this with Receiver AXIS adapter but not sure how it can be done. Can any of you suggest?
                                                  <WSContext>
                   <FromAppId>ABC</FromAppId>
                   <ToAppId>XYZ</ToAppId>
              </WSContext>
    Thanks,

    If you want to add custom tags in the soap header, one possible solution is use XSLT mapping or Java mapping to create header first then do message mapping for mapping the payload structure between your source and target  as usual.
    So in operation mapping you sequence mapping like this... first XSLT mapping for custom tags for the SOAP Header followed by payload mapping.
    Hope that helps.
    Search SDN for XSLT Mapping for soap header. Already we have handled these issues.

  • header tag in soap

    i just read through Axis user doc, but all sample app it mention doesn't show how to use the <HEADER> tag inside soap request / response.
    1 -- is <HEADER> tag not much a use when doing 1 - 1 host to host request /response?
    2 -- <HEADER> is only useful when soap massage need to pass multiple endpoints / hosts ?
    3 -- Why most of the web services at www.xmethods.net don't use <HEADER> tag on request / response xml?
    4 -- Is that in most cases, BODY tag in soap is enough? no HEADER needed?
    5 -- Hosts in between web service client + provider process <HEADER> elements but not the content of BODY element? and the Ultimate SOAP receiver will process the BODY elements?

    Note sure if this possible.. but just wondering if you can try using <bpelx:remove> extention to delete the soap header variables..
    Other viable option is to write SOAP Message handlers on your outbound webservices...

  • Reading custom SOAP header with XHeaderName1

    Hello Experts,
    I have a SOAP to File scenario and I am trying to do dynamic receiver determination by looking at the SOAP request header info. I am adding a custom field (System_ID) that I want rules to run against in Receiver Determination..
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:urn="urn:*******************">
    <soapenv:Header>
    <System_ID>100</System_ID>
    </soapenv:Header>
      <soapenv:Body>
       </soapenv:Body>
    </soapenv:Envelope>
    In the Receiver Determination I have multiple rules using SOAP context object to  XHeaderName1 = the System_ID (100) to pass the message to the right system at runtime according to the  System_ID.
    In the SOAP sender channel I have Set Adapter-Specific Message Attributes and Variable Transport Binding checked. I also have the variable name System_ID in the first Variable Header (XHeaderName1).
    In the SOAP sender Conversion Parameters I have Do Not Use SOAP Envelope and Keep Headers checked, as well as nosoap=true in the SOAP request URL.
    I'm getting the System ID to show in XI in sxmb_moni in the Header but no where do I see it being used with XHeaderName1.
    Am I using XHeaderName1 right? If not could you advise as to how XHeaderName1 should be used?
    My requirement is to read system ID from Header, not payload.
    Thank you!
    Tim

    I was able to find a solution to my problem.
    I created a basic senario below to test:
    1.A basic Asynchronous scenario is created using a SOAP sender adapter to 2 possible flat file receivers.
    2.The SOAP sender channel will have the option u201CDo Not Use SOAP envelopeu201D checked and SOAPUI URL will have u201C&nosoap=trueu201D added to the end.
    3.The receiver system name will be stored in the WS-Addressing u201CActionu201D field sent from SOAPUI.
    4.Two ABAP mappings are created. One mapping will extract the system number from the WS-Addressing u201CActionu201D field. The other mapping will extract just the body of the SOAP message to send along. Using regex and string manipulation in the ABAP mappings we can reuse the mappings for any SOAP message.
    5.Enhanced (Extended) Receiver Determination is selected and interface mapping using system/XI ReceiverDetermination  service interface is used to capture the receiver system.
    While this is a solution is not the best, it is a solution. Upon research I found a recent SAP Note 1385579 talking about implementing a SAP delivered generic SOAP Sender AXIS handler com.sap.aii.axis.soap.HeaderExtractionHandler to extract SOAP Header elements and place in message attributes. I will be trying this out.

  • Reading contents of SOAP Header

    Hi folk,
    I did some reseach on SDN on how to read the contents of the SOAP header, there were a lot of promising leads but i havn't hit the bull'sEye yet.....
    1.i have a requirement whrein i need to read some contents frm the SOAP header hold on to it and send it back in the respnse.
    2.2nd requirement i have to modify the soap header's contents based on the current date/time and send it.
    Can someone give me some leads/hints on how to achieve this.
    If you can give me the mapping API i need to call in the mapping that will be greatly appreciated!!
    Thank u all.
    Hank

    some quick facts:
    #1: there is a confusion between HTTP Headers (which is addressed by the Variable Transport Binding option in both SOAP and HTTP adapters) and the SOAP Header (part of the XML message that is the payload of the HTTP Request). Notice that the SOAP Header is not addressable through the Dynamic Configuration of the HTTP Headers.
    #2: in order to read data from the SOAP Header on the outbound (sender) side, you need to:
        #2.1. select the "Do Not Use SOAP Envelope" option in the Sender communication channel (the SOAP Envelope has two subtags, the SOAP Header and the SOAP body, which contains the payload);
       #2.2. in the mapping, you need to consider the whole SOAP Envelope as source message. You could even try to address it through a Message Mapping, given that you have an external message definition (e.g. wsdl, xsd) that defines the SOAP Envelope layout. But it is much easier to handle it through a XSLT or Java Mapping, at a 1st moment, to read the necessary information from the SOAP Header* and to extract the payload from the SOAP Body, and then use your existing Message Mapping in the payload.
    Example of XSLT mapping: Re: XI30 SPS16 - SOAP Sender Adapter - self-defined SOAP-Header (last message)
    You just need to enhance the part where you read the header field you need.
    Best,
    Henrique.
    to recover the read value at a later point, you could use for example a mapping variable (PI 7.1+) or a custom context object (use dynamic configuration to read/write on a custom context object). Notice that Dynamic Configuration works as a custom HashMap, where you can read/write any combination of context objects namespace/technical name. Just define your custom namespace and technical name (e.g. 'http://sap.sdn.com/test' and 'MyParam'), fill it in the XSLT mapping** and read it afterwards, wherever you need***.
    Sample code to read/write Dynamic Configuration in XSLT mappings: http://help.sap.com/saphelp_nw70/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/frameset.htm
    if you want to use this value in a Receiver Determination, you can even use Adapter Metadata to define them as "fake ASMAs": /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further

Maybe you are looking for

  • I get an error message when I try to save my images in Photoshop CS6

    I get an error message when I'm trying to save my images.  It reads as follows: "Could not save because file is locked, you do not have necessary access permissions or another file is using it" The file is not locked (I unlocked the image as a layer)

  • Copy and paste problem

    Yesterday something strange began happening. I copied all of the text in a document, opened a new page and pasted. However, the paste put what appears to be a text box on the new page. When I dragged the borders to the page size, I only had one page

  • Server Specs for SLES and GW 12

    I need to look into a new server to put SLES and GroupWise 2012 on it. I am having trouble finding server specs for this, so I was hoping to get a little advice. GW will be the only thing on this box, one PO with about 150 users. Hoping to build some

  • About semantic indexing using user defined ontology

    hi zhe, according to the dev. guide, you can do semantic index on a document using user defined ontology. however, multiword class names, individual names and property names defined in the ontology are usually concatenated and cannot have space. if I

  • Phone numbers formatting not working

    Hello, I just got a new iMac with Snow Leopard and I've been setting up my address book. I got my old address book backed up and imported it into the new one. Now I'm trying to format phone numbers in preferences but something is wrong. First the dro