SOAP Headers

Is it possible to access SOAP headers from with in the WebService backend, for
example, from within the EJB implementation of the service itself?
I know SOAP headers can be accessed from within the handlers.
My goal is to somehow have access to certain header information from within the
EJB.
Also, if I employ a handler only implementation, and do away with the backend,
how well would the container manage the handler classes (which are non-EJB) as
opposed to the EJB implementation?
I am using WLS 7.0 SP1.
Thanks a lot.
Suteertha

no ideas?

Similar Messages

  • How to Post XML Messages with SOAP Headers to a Trading Partner URL

    Hi All,
    Greeting to the Oracle B2B Community. We are currently working on how to post a Custom XML Message with SOAP Headers to a Trading Partner URL. I would really appreciate if anybody could provide me some inputs or links to some documentation on how to achieve the above requirement. The details are below:
    1. Our Internal Application generates a Flat File (PO Extract).
    2. The Extract then needs to be transformed to an XML Message. We are planning to use BPEL to do the transformation to XML Message.
    3. Once it is transformed to an XML message it needs to be posted to the Trading Partner URL as an HTTP Post and with SOAP Headers.
    We are planning to use B2B to do the posting but I am not sure on how to do the set-ups and what all parameter files in B2B needs to be updated in order to achieve the same. Also it is mandatory that we send SOAP Headers in the XML Message.
    Thanks In Advance for your help.
    Regards,
    Dibya

    Hello Dibya,
    As you are already doing the transformation from Flat file to XML in BPEL which is typically the capability of B2B, please use the Soap binding in BPEL to send the document to Trading partner.
    Rgds,Ramesh

  • Web service response contains SOAP Headers with "mustUnderstand" true

    Hi
    I have a requirement where in I have to consume a web service as adaptive web service model, and while executing the service pass a mandatory parameter to the soap header. We are able to set the mandatory parameter to the soad header. We got the code snippet to do this from a wiki link
    http://wiki.sdn.sap.com/wiki/display/WDJava/FAQ-Models-AdaptiveWebService#FAQ-Models-AdaptiveWebService-WhatarethefunctionalgapsofthecurrentAdpativeWSModelImporter%3F
    On executing the service now through web dynpro we are getting the below error
    "Web service response contains SOAP Headers with "mustUnderstand" true which are not handled by the client runtime"
    Any thoughts on how to handle this mustUnderstand attribute with some code snippet? Appreciate all help.
    Thanks,
    KN.

    Hi
    Have you found the workaround?
    Sorry for refreshing topic. Flag mustUnderstand ='1' in response is unussual thing.
    BR

  • Problem in setting Soap Headers

    Hi All,
    While setting SOAP Headers through Dynamic configuration, I'm getting errors, If i don't use the same, it is passing correctly....
    Here I tried to set SOAP Action from mapping....Is there any predefined settings required to do the same?
    Thanks

    Hi,
    What are the errors you are facing?
    Plz go through the link below
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
    Plz check out the steps you have performed, you can revert back in case of further queries.
    Reward points in case satisfied.
    Regards,
    Sushama

  • Securing web services SOAP headers against OWSM policy

    Hi,
    I need to authenticate the user against the OWSM policy. The caller will pass username and password in SOAP headers and I need to attach WSS policy to my exposed web service.
    How to extract the Header information and then validate them against the policy.
    A simple HelloWorld sample will be of great help.
    regards
    Sanjeev

    Hi,
    For service authentication add policy wss_username_token_service_policy to client composite.Create user in security realms in adminstration console.
    While testing the service select wss username token option under security tab and test with valid credentails or from, soap UI
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>USER CREATED IN SECURITY REALMS</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PSWD ENTERED FOR THE SAME USER IN SECURITY REALMS</wsse:Password>
    </wsse:UsernameToken></wsse:Security> WITH INPUT

  • Manipulating soap headers in BPEL 11g doesn't work

    Hi,
    I need to change the values of the soap header elements MessageId and RelatesTo in SOA Suite 11.1.1.5. The documentation is not very clear on how to achieve this. In the development guide bpelx:inputHeaderVariable is mentioned for manipulating soap headers. If you use the "Headers" tab on the invoke activity I instead get bpelx:headerVariable. But I've tried both and then run the calls through TCP Monitor. The messageId/RelatesTo is still not changed.
    I have also tried the "Properties" tab on the invoke activity. There are two properties called wsa.messageId and wsa.relatesTo which sounds perfect. But still nothing happens when I use them.
    My invoke looks like this (if e.g. using bpelx:headerVariable):
    <invoke name="InvokeSomeProcess" partnerLink="SomeProcess"
    portType="ns1:SomeProcessCallback" operation="onResult"
    inputVariable="someProcessInputVariable"
    bpelx:invokeAsDetail="no"
    bpelx:headerVariable="relatesTo,MessageIdHeader">
    </invoke>
    This worked perfectly in 10.3.4 which is what I'm migrating from (then using bpelx:inputHeaderVariable).
    Is this not working in 11g?? Or have I missed some crucial detail? Has anybody got it to work?
    Thankful for any help!
    Kind Regards
    Kerstin

    Ok, there are at least two bugs that are related to this problem:
    1) JDeveloper adds the wrong property when you add a header through the GUI tab "Headers" on an invoke activity. It should be "bpelx:inputHeaderVariable" and NOT "bpelx:headerVariable". (Bug #12541901).
    2) Currently in SOA Suite 11g the WS-Addressing headers are overwritten when the SOAP call is made. Enhancement Request #13718140 has been logged asking for this behaviour to be changed in a future release. This is currently being considered by Product Management.
    Oracle support suggests that you use OSB to set the headers.
    Kind Regards
    Kerstin

  • Is there any way to pass SOAP Headers ?

    I have created a Web Service based on a Portal Service using the project wizard. I find that SOAP headers (<SOAP-ENV:Header>) are not passed in the SOAP Envelope while calling the Web service. Is it possible to do this ?
    Thanks in advance. Any suggestion is appreciated.

    I would like to know this as well.
    I am trying to pass username and password to a target web-service that requires this information to be in the Header section of the SOAP request.
    I am using EP 6.0.   Does anyone know if this can be done in  EP 7.0?

  • Send Extra Information to SOAP Headers

    Does anybody know what Java class I should extend to send extra information to the SOAP headers that are being sent to the EDK API?
    I am trying to pass the extra name=value pairs added to the querystring to be passed to portlets via EDK.
    Oguz

    Hi Oguz,
    Could you explain a bit more what you want information you want to send to the portlets? Normally you can use the portal's admin UI to configure what user info, prefs, and portal values (login token, SOAP end point etc..) to a given portlet. This is configurable in the Web Service Remote Portlet portal admin object.
    ross

  • Flex 3.0 and WSSecurity SOAP headers

    I have tried every permutation and combination to insert a
    WSSecurity header in teh soap request. The closest I have got is
    getting Flex 3.0 to insert a
    <SOAP-ENV:Header></SOAP-ENV:Header> in the header
    block.
    So I have two questions.
    One - does anyone have a working example with security
    headers and two - is it necessary for the headers to be declared in
    the WSDL ?
    Thanks

    The following things you may need to verify:
    Are there any Result and/or Error Handlers specified as the default handlers in your SWF file's source code (prior to compilation)
    Has the Result and/or Error Handlers specified in (the compiled) SWF code been made public and accessible through HTML Wrapper
    Has HTML Wrapper provided some default handling of the data been passed by the Result and/or Error Handlers while at runtime.
    Has QTP Script called the correct functions out of the HTML Wrapper.
    Also verify if you have done all the following configurations correctly:
    Deploying Flex files
    Before you can test the Flex application, you must deploy the application and its supporting files to a location that is accessible by QTP. These files include:
    Application SWF file
    HTML wrapper and wrapper files (the wrapper files can include SWF files, JavaScript
    files, and other files)
    RSL SWC files
    Module SWF files
    Helper files such as theme SWC files, style SWF files, and image, video, and sound files.
    You may deploy the Flex application and HTML wrapper file to any location on your HTTP server. You must be able to access this location from QTP.
    Is the HTML Wrapper "password protected" (if so you need to use QTP Authentication Mechanism to access it).
    What appears from the error you have received, the "Login Submit" function call went successful through QTP via the HTML Wrapper although the failure occured on the SWF level. Even in this case it would be better to reverify your code at all the levels (i.e. QTP, HTM Wrapper, SWF file source code & SWF file compiled version).
    Hope this resolves your issue...

  • Accessing SOAP Headers in BPEL

    Hi All,
    I have been trying to access a custom soap header in BPEL but in vain.
    I have the header like this in my wsdl
        <wsdl:message name="doTransactionRequest">
            <wsdl:part name="part1" element="tns:doTransaction"/>       
        </wsdl:message>   
        <wsdl:message name="doTransactionHeader">
            <wsdl:part name="teamName" element="tns:myName"/>
        </wsdl:message>
        <wsdl:message name="doTransactionResponse">
            <wsdl:part name="part1" element="tns:doTransactionReply"/>
        </wsdl:message>
        <wsdl:binding name="RequestHandlerProxySoapBinding" type="tns:RequestProxyPortType">
            <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <wsdl:operation name="doTransaction">
                <soap:operation soapAction=""/>
                <wsdl:input name="doTransactionInput">
                    <soap:header message="doTransactionHeader" part="teamName" use="literal"/>
                    <soap:body use="literal"/>
                </wsdl:input>
                <wsdl:output name="doTransactionOutput">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>In BPEL I have a corresponding header variable defined for the header "teamName".
    Now how do I tell BPEL "receive" to copy the incoming header to this variable ? There is no parameter called "headerVariable" or so for the receive element. As far as I understand, when the soap header "myName" comes, it is copied as a property in the normalized message. Now I need to tell BPEL service engine some how to copy the property to the header variable. But I don't know how to do that.
    I Really need some help. Thanks in advance.
    best regards,
    bala

    I would try defining the soap:header under the <operation> description in your .wsdl
    to look something like this:
    <Input>
    <soap:header message="tns:SessionHeader" part="SessionHeader"/>
    <soap:body message="[yourprocess]RequestMessage"/>
    </Input>
    Then create a variable of the sessionHeader message type and assign it in the adapters tab.
    You'll probably also need to add this namespace to your wsdl:
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/
    I haven't tested this but it should get you on the right track...

  • Does wsdlc -XadditionalHeaders option for wsimport exist? (Soap:headers)

    When generating code from a wsdl using wsdlc (10.3.2), if I have a separate wsdl:message which exists for the sole purpose of wrapping an element I would like in a header, my method signatures do not contain this parameter.
    However, if I were to duplicate the header in each of my request/response messages, the parameters shows up. I've found out that if I were using wsimport directly, I could supply this argument (-XadditionalHeaders) to achieve the desired effect without the duplication in the wsdl.
    Is there a way to make this happen with wsdlc? A custom JAX-WS binding, perhaps?
    Thanks.
    Edited by: Jason Alati on Sep 3, 2010 9:25 AM

    Hi,
    I have never seen any SOAP Header which is mentioned inside the WSDL file. May be i missed something. Can u please provide us the Flag or the Option which u see in "wsimport" tool which helps to Generate a Service from WSDL with SOAPHeadrers?
    We use ClientSide / Server Side handlers to add the SoapHeaders so far.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/weblogic/webservices/ (WebLogic Wonders Are Here)

  • My WebService with soap headers code no longer works in Flex 3

    In Flexbuilder 2 this code works like a charm but when I run
    it from 3 I'm getting errors. I can't seem to find any info on the
    changes in the Help. I posted this problem on another forum and got
    a lot of great feedback but we haven't been able to find the
    problem, can someone lend a hand, maybe an Adobe person? Below is
    my error and code.
    Thank You,
    Mark
    --ERROR--
    (mx.rpc::Fault)#0
    errorID = 0
    faultCode = "Server.Error.Request"
    faultDetail = "Error: [IOErrorEvent type="ioError"
    bubbles=false cancelable=false eventPhase=2 text="Error #2032:
    Stream Error. URL:
    http://radar.us.na.ey.net/RadarXML.asmx"
    URL:
    http://radar.us.na.ey.net/RadarXML.asmx"
    faultString = "HTTP request error"
    message = "faultCode:Server.Error.Request faultString:'HTTP
    request error' faultDetail:'Error: [IOErrorEvent type="ioError"
    bubbles=false cancelable=false eventPhase=2 text="Error #2032:
    Stream Error. URL:
    http://radar.us.na.ey.net/RadarXML.asmx"
    URL:
    http://radar.us.na.ey.net/RadarXML.asmx'"
    name = "Error"
    rootCause = (flash.events::IOErrorEvent)#1
    bubbles = false
    cancelable = false
    currentTarget = (flash.net::URLLoader)#2
    bytesLoaded = 0
    bytesTotal = 0
    data = (null)
    dataFormat = "text"
    eventPhase = 2
    target = (flash.net::URLLoader)#2
    text = "Error #2032: Stream Error. URL:
    http://radar.us.na.ey.net/RadarXML.asmx"
    type = "ioError"
    --MXML--

    I agree with Sean in avoiding 'updateStage' and updating much of your syntax.
    I started writing some exampels of syntax and loop improvments and ended up going through almost your entire script..Here goes
    on mouseDown
        set me = the castNum of sprite (the clickOn)
    could be replaced with
      on mouseDown me
        myMember = sprite(me.SpriteNum).member
    You can remove all the 'set' words, like the above and:
      dropList = ["Effective", "Not_effective"] 
      temp = EMPTY
    Replace the following (assuming you used the myMember statement above):
      put temp into field me
    with
      member(myMember).text = temp
    There are 2 if.. then conditions in the repeat while the stillDown loop that look wrong:
      if the mouseCast = me then set newLine = the mouseLine
      else set newLine = 0
    I would expect it to be:
      if the mouseCast = me then
        newLine = the mouseLine
      else
        newLine = 0
      end if
    You can get away from the 'repeat will the stilldown' by adding the code to an exitFrame event that can be within this behavior:
      on exitFrame me
        if the mouseDown then
        if the mouseCast = myMember.number then
        newLine = the mouseLine 
        else
        newLine = 0
        end if
      if oldLine <> newLine then
        if newLine then
          member(myMember).line[newLine].hilite()
        else
          member(myMember).text = temp
        end if
        oldLine = newLine
      end if
      end if
    end
    Taking the approach of having multiple events in 1 script and having variables shared in each, it would be best to make thise variables property variables, declaring them as such at teh top of the script.
    Then for the 'clean up and close out' code, yu could put that into an on MouseUp event.
    In Lingo 1 is TRUE, 0 is FALSE. Since, you're using 0 when setting the visible property, I'd say use 1 instead of TRUE.
    Dean
    Message was edited by: Dean Utian

  • Get Custom SOAP Header Value in SOA Suite 11.1.1.6 using BPEL 1.1

    Hi Experts,
    We are using SOA Suite 11.1.1.6 and in one of the projects we have requirement to retrieve custom SOAP header value.
    This is enhancement to existing process which is developed using BPEL 1.1 and deployed to Production. So we cannot convert this now to BPEL 2.0
    We suggested to use custom XML element in Header the definition of which will be defined in custom XSD and stored in common location. However the 3rd party who are invoking this service will not be able to do any customization in their process to pass custom XML header.
    Please can you help me in providing any approach through which we can retrieve custom Header value from SOAP header using BPEL 1.1
    I have read some blogs for retrieving the custom XML header but they are using BPEL 2.0. I would like achieve this functionality using BPEL 1.1
    Appreciate your inputs.
    Thanks in Advance - RK

    Hello RK,
    Have you've tried to put the bpex:outputHeaderVariable on the invoke activity of the invoked service.
    <invoke name="Invoke"
                bpelx:outputHeaderVariable="HeaderVariable"/>
    Where the "HeaderVariable" reflects the XSD Datastructure of the received header.
    This is also specified here in section 6.19.1 How to Receive SOAP Headers in BPEL
    Please note that the exact header must be specified in the WSDL of the invoked service.
    Also note that in case of a soap fault. No header will be returned from the invoked service but only a /soap/body/fault part.
    Good luck!
    Melvin

  • How To : Call External Webservice from BPEL and pass SOAP Message to the WS

    Hello All-
    Greetings to all BPEL gurus. I am currently facing difficulties in calling an External Webservice from my BPEL Process and passing SOAP Message to it. The details are below:
    <strong>1. The BPEL process, using database polling feature of DB Adapter, will get the records from the database.</strong>
    <strong>2. Transform the message</strong>
    <strong>3. Call the External Webservice and pass the transformed message as the input to it. However the Webservice expects the BPEL process to send SOAP headers in the input message.</strong>
    I am struggling on how to put the transformed message within a SOAP envelope in the BPEL process.
    If anyone had similar requirements and have successfully been able to send SOAP messages from BPEL process to an external webservice, kindly let me know.
    Also if there is some kind of documentation or any link in the forum that I can refer, please let me know that as well.
    I am new to Webservice integration using BPEL and would really appreciate your help.
    Thanks In Advance
    Regards,
    Dibya

    Hi Dharmendra,
    I am trying to send a SOAP message from my BPEL process to a web service. I have a complete SOAP message in a complex variable defined in the wsdl for the partnerlink (web service). My problem is that when I invoke the partnerlink it fails even though the content shown in the BPEL console looks valid.
    I have set up obtunnel to see what I am actually sending out from BPEL. You mention that BPEL creates the SOAP envelope automatically.
    I think that my problem is a result of this automatic SOAP envelope that BPEL is creating. Do you know if there is a way to turn it off?
    This is what I see in the TCP monitor, please note the double SOAP env:Body:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <RCMR_IN000002NR01 xmlns="urn:hl7-org:v3" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <env:Header>
    <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://testhost/CCS/Service_Endpoint</wsa:To>
    <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsa:Address>http://localhost/CCS/Service_Endpoint</wsa:Address>
    <wsa:Metadata>
    <device xmlns:hl7="urn:hl7-org:v3">
    </device>
    </wsa:Metadata>
    </env:Header>
    <env:Body>
    <RCMR_IN000002NR01>
    </RCMR_IN000002NR01>
    </env:Body>
    </RCMR_IN000002NR01>
    </env:Body>
    </env:Envelope>
    Any help is appreciated.
    Regards,
    Aagaard
    Edited by: Aagaard on Oct 30, 2008 8:59 PM
    Should have mentioned. I am using BPEL 10.1.3.4
    Edited by: Aagaard on Oct 31, 2008 8:43 AM
    I have opened a new thread for this question so as to not confuse the issue more than necessary.
    How many SOAP envelopes do you really need?

  • SOAP Receiver adapter with attachments not working

    Hello,
    I have a simple synchronous scenario like this; ABAP proxy with attachments to SOAP with attachments.
    The SOAP receiver adapter has been configured with the parameters 'Do not Use SOAP envelope' and 'Keep attachments'. We create our own SOAP envelope with custom SOAP headers, so that's the reason for the 'Do not use SOAP envelope' setting.
    When we test the scenario with an attachment then we get a timeout from PI. However, when we test the same scenario without any attachment then no errors occur.
    The external webservice has also been tested with SOAP UI and it works fine.
    Do you have any clues what the problem can be? What are we still missing in the configuration?
    We did try with the adapter modules such as PayloadSwapBean and the Message TransformBean, so far without success...
    Many thanks.
    Roberto

    Hi Stefan,
    The attachments are not really big, around 150KB.
    According to the other party (Oracle Service Bus) no messages with attachments have been received. In fact it seems like those messages never leave the PI server. SOAP requests without attachments are processed successfully.
    Thanks
    Roberto

Maybe you are looking for

  • Cannot charge ipod touch (3G) with wall charger, only using MAC.

    I've had my Ipod Touch for over a year. Suddenly yesterday the device will not charge with either a wall (a/c) charger or a car charger. I have two wall chargers and neither one works. It will only charge when plugged into a usb port on my MAC comput

  • KVM Distortion

    I'm having problems with my KVM switch on my machine. I am getting distortion, all images are shifted over to the right, say 1/4" with a transparent hue. Here is my setup: Computer 1: AMD 1.3mghz Asus board Asus Geforce3 ti200 Windows 200 Server Comp

  • How do I get a .mov file from my iMac to my iPad?

    How do I get a .mov file from my iMac to my iPad?

  • Open Recent - CS3 Complete File Path

    In CS2 my open recent files showed the complete file path. e.g. d:\jobs\clients name\file name.indd. In CS3 it only shows file name without the complete path. Is there a setting to change this or am I stuck with it?

  • Which ports need to be enabled?

    I have just updated ITunes and can no longer play music, the diagnostics suggest that it is the Firewall, I use McAfee Fiorewall and it needs to know which TCP or UDP Ports need to be active??  Anybody have an answer, it was all working fine prior to