How to Capture SOAP Header in BPEL

Hi All,
I have a requirement to pass a value from SOAP Header to BPEL and has to capture the value in BPEL and manipulate the data.
In the receive activity i created a variable and assigned Header to it, but iam getting NULL value when i check the instance, this is the code i used in receive
activity.
<receive name="receiveInput" partnerLink="bpelsensor_client" portType="client:BPELSensor" operation="process" variable="inputVariable" createInstance="yes"
bpelx:inputHeaderVariable="headerID"/>
Any suggestions how to do this?

How did you define headerID?
You can also see an example here:
http://java.net/projects/oraclesoasuite11g/pages/BPEL
Arik

Similar Messages

  • How to bind soap header using jax-rpc

    To Whom It May Concern:
    I am using Rad7, Ibm Websphere 6.1, on Windows XP.
    I created an SoapHeader first using a string and bind it using jax-ws.
    It works for jax-ws but unfortunately, my work services uses jax-rpc.
    Does anybody know how to bind the soap header using jax-rpc.
    Any help or hint would be greatly appreciated it.
    Here is my code:
    import org.apache.cxf.headers.Header;
    import org.apache.cxf.headers.Header.Direction;
    import org.apache.cxf.helpers.DOMUtils;
    import org.apache.cxf.binding.soap.SoapHeader;
    import javax.xml.namespace.QName;
    import java.io.StringReader;
    import java.util.List;
    import java.util.ArrayList;
    import javax.xml.ws.BindingProvider;
                   @Test
         public void testService() throws Exception {     
                   try
                        URL wsdlURL = new URL("http://localhost:9087/abc/services/ServiceABCService");
                        ServiceRequestServiceService service = new ServiceRequestServiceServiceLocator();
                        ServiceRequestService port = service.getServiceRequestService(wsdlURL);
                   //How to Add Soap Header using jax-ws
              String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ABCHdrRq "
              + "xmlns=\"http://xmlns.ABCgc.net/ABC/2002/header/\" "
              + ">"
              + "<version>1.0</version><srcInfo><chType>abc</chType><chInst>0124</chInst>" +
                        "<appName>sSAR</appName><hostName>DW70210521</hostName><userId>fxue</userId>" +
                        "</srcInfo><startTimeStamp>2010-06-04T13:44:45.132</startTimeStamp><clientDt>2010-06-04T13:44:53.242</clientDt><serviceInfo><serviceName>ServiceRequestService</serviceName>" +
                        "<serviceFunc>addServiceRequest</serviceFunc></serviceInfo>" +
                   "<prevTransInfo><prevRqUID>BORS2010-06-04T13:41:10.2067f9368d1-8c5c</prevRqUID>" +     
                   "<prevRespTimestamp>2010-06-04T13:41:10.871</prevRespTimestamp>"+
                   "<prevRespEndTimestamp>2010-06-04T13:41:10.902</prevRespEndTimestamp>+</prevTransInfo>"+
                   "</ABCHdrRq>";
              SoapHeader dummyHeader1 = new SoapHeader(new QName("uri:http://xmlns.ABCgc.net/ABC/2002/header/", "ABCHdrRq"),
              DOMUtils.readXml(new StringReader(xml)).getDocumentElement());
              dummyHeader1.setDirection(Direction.DIRECTION_OUT);
              List<Header> headers = new ArrayList<Header>();
                   headers.add(dummyHeader1);
                   ((BindingProvider)port).getRequestContext().put(Header.HEADER_LIST, headers);
                   //How to Add Soap Header to the request using jax-ws
                   catch(Exception e)
                        System.out.println("Exception message:"+e.getMessage());
    Yours,
    Frustrated

    Well, how an attachment is processed depends on your application logic...if your application logic requires to processing attachments and verify it before processing the SOAP message, handlers could be better option.
    If you need to process the attachment while processing the SOAP message, you can do it in the service implementation class.
    In both the cases you need to get access to SOAPMessage object and from there get the attachments with getAttachments method.

  • How to capture SOAP fault when using "Do not use SOAP envelope" parameter

    Hi,
    we have a synchronous  RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
    In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
    Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the  "Do not use SOAP envelope" parameter?
    Thanks in advance!
    Stefan
    Message was edited by:
            Stefan Nilsson

    Hi Bhavesh,
    I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
    The request is successfully hittng the webservice.
    Please guide me on how to capture the paylod.
    I am using the WSDL provided by the thirdparty but sill the message is not coming into PI.

  • Calling Web Service with SOAP header from BPEL

    Hi,
    I am calling a web service (with header information) from BPEL. In the Invoke activity, i created a header variable to pass the header information.
    But, when i test the BPEL service, invoke activity fails because the header information is not being passed.
    Below is the error message (copied from clipboard).
    +<messages><input><Invoke_1_getsubinfo_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
    +<pSubnoin>+
    +<insubno>12345678</insubno>+
    +</pSubnoin>+
    +</getsubinfoElement>+
    +</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:+
    start fault message:+
    Internal Server Error (Caught exception while handling request: javax.xml.rpc.JAXRPCException: Not authenticated user)+
    *:end fault message*</summary>
    +</part></bindingFault></fault></messages>+
    As said, no header information is visible in the Invoke activity.
    Please provide help for the above issue.
    -MJ

    Hello Patrick,
    Thanks for the response. I am using normal assign activity to assign values to the header variable as shown below. HeadMT is the header variable which is passed in the invoke activity.
    +<assign name="Assign_Header">+
    +<copy>+
    +<from expression="'tkl12'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'tkl123'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'TKL'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +</assign>+
    The expected input by the web service is as below with the header information highlighted.
    +<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+
    +*<soap:Header>*+
    +*<ns1:LOGIN_INFO>*+
    +*<ns1:USERNAME>tkl12</ns1:USERNAME>*+
    +*<ns1:PASSWORD>tkl123</ns1:PASSWORD>*+
    +*<ns1:CHANNEL_ID>TKL</ns1:CHANNEL_ID>*+
    +*</ns1:LOGIN_INFO>*+
    +*</soap:Header>*+
    +<soap:Body>+
    +<ns1:substatusElement>+
    +<ns1:pInparam>+
    +<ns1:insubno>7674988</ns1:insubno>+
    +</ns1:pInparam>+
    +</ns1:substatusElement>+
    +</soap:Body>+
    +</soap:Envelope>+

  • How to view SOAP Header

    Hi Gurus,
    i have a simple questions to you (hopefully).
    At the moment i am working with SOAP AXIS Receiver Adapter because i need to add <wsse> Tags to my SOAP Header. (according to blog: /people/pravesh.puria/blog/2009/08/26/adding-usernametoken-timestamp-in-soap-adapter-using-axis-framework)
    I get no error for this configuration but i am wondering where i can have a look at the SOAP Header that will be transfered to the target url.
    when i go to CommChan-Monitoring and have a look into Message-Details-->Message-Content i only can view "SOAP Document" this looks to me like the internal SOAP Envelope, but this is not going out the target url right? And i also can have a look on the payload, but  there is no SOAP Header at all.
    thank you for your help
    Best Regards
    Udo

    No, this XML is the whole XI message and it is not sent by the SOAP (axis) adapter. If you want to see exactly what is sent, try checking it with the TCPGateway tool as advised on the SOAP FAQ note
    [Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter|https://websmp230.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597]
    Under question "Q: How can I trace the whole message?". Otherwise, on SXMB_MONI, try selecting the PAYLOAD item on the left menu and, on the payload on the right, right-click and select "VIEW SOURCE".

  • How to view SOAP header generated from XML Gateway  ?

    Hi All,
    I am using XML Gateway integrate EBS and trading partner using web services.
    Currently I am having problem with including wsse authorization information in the outbound message of EBS.
    I am able to view the payload in the transaction monitor but not able to check the SOAP header of message.
    How to view the current SOAP header generated by EBS and/or include the wsse information which are required by recipient trading partners ?
    Thanks in advance for your help.
    Regards,
    Ram

    No, this XML is the whole XI message and it is not sent by the SOAP (axis) adapter. If you want to see exactly what is sent, try checking it with the TCPGateway tool as advised on the SOAP FAQ note
    [Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter|https://websmp230.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597]
    Under question "Q: How can I trace the whole message?". Otherwise, on SXMB_MONI, try selecting the PAYLOAD item on the left menu and, on the payload on the right, right-click and select "VIEW SOURCE".

  • Is there a way to get SOAP header in bpel?

    Hi,
    My web service returns a SessionID contained in the SOAP header. In Oracle PM, is there a way I could extract the SOAP header, or manipulate the SOAP header when invoking the web services? Any information would be appreciated.
    Thanks!
    Feng

    Edwin,
    I was trying your second approach, which utilizes the bpel extension to hold the header info, but with no luck.
    The provided sample (Salesforce Flow) works well, and I can see the SOAP header using TCPMonitor. Then I created a simple echo service (using bpel) to replace the Salesforce.com Enterprise Web Services, and invoke the echo service from a bpel process with the same bpel extension. However, no header was sent out.
    I guess there are something I was missing. Attached please find the wsdl file of the echo service, as well as the bpel files. Could you give me some idea what I did wrong? Or do you have any documentation about the bpel extensions?
    Thanks a lot for the good support!
    Feng
    echo.wsdl
    <?xml version="1.0"?>
    <definitions name="echo"
    targetNamespace="http://acm.org/samples"
    xmlns:tns="http://acm.org/samples"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of types participating in this BPEL process
    The BPEL Designer will generate default request and response types
    but you can define or import any XML Schema type and use them as part
    of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
    <schema attributeFormDefault="qualified" elementFormDefault="qualified"
    targetNamespace="http://acm.org/samples"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="echoRequest">
    <complexType>
    <sequence>
    <element name="input" type="string"/>
    </sequence>
    </complexType>
    </element>
    <element name="echoResponse">
    <complexType>
    <sequence>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    </element>
    <!-- Header Elements -->
    <element name="SessionHeader">
    <complexType>
    <sequence>
    <element name="sessionId" type="xsd:string"/>
    <element name="InvokeID" type="xsd:string"/>
    </sequence>
    </complexType>
    </element>
    <element name="QueryOptions">
    <complexType>
    <sequence>
    <element name="batchSize" type="xsd:int" />
    </sequence>
    </complexType>
    </element>
    <element name="SaveOptions">
    <complexType>
    <sequence>
    <element name="autoAssign" type="xsd:boolean"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="echoRequestMessage">
    <part name="payload" element="tns:echoRequest"/>
    </message>
    <message name="echoResponseMessage">
    <part name="payload" element="tns:echoResponse"/>
    </message>
    <!-- Header Message -->
    <message name="Header">
    <part element="tns:SessionHeader" name="SessionHeader"/>
    <part element="tns:SaveOptions" name="SaveOptions"/>
    <part element="tns:QueryOptions" name="QueryOptions"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the echo BPEL process -->
    <portType name="echo">
    <operation name="process">
    <input message="tns:echoRequestMessage" />
    <output message="tns:echoResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="echo">
    <plnk:role name="echoProvider">
    <plnk:portType name="tns:echo"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    echo.bpel
    <!-- echo BPEL Process [Generated by the Oracle BPEL Designer] -->
    <process name="echo" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension">
         <!-- ================================================================= -->
         <!-- PARTNERLINKS -->
         <!-- List of services participating in this BPEL process -->
         <!-- ================================================================= -->
         <partnerLinks>
              <!-- The 'client' role represents the requester of this service. -->
              <partnerLink name="client" partnerLinkType="tns:echo" myRole="echoProvider"/>
         </partnerLinks>
         <!-- ================================================================= -->
         <!-- VARIABLES -->
         <!-- List of messages and XML documents used within this BPEL process -->
         <!-- ================================================================= -->
         <variables>
              <!-- Reference to the message passed as input during initiation -->
              <variable name="input" messageType="tns:echoRequestMessage"/>
              <!--
    Reference to the message that will be returned to the requester
    -->
              <variable name="output" messageType="tns:echoResponseMessage"/>
         </variables>
         <!-- ================================================================= -->
         <!-- ORCHESTRATION LOGIC -->
         <!-- Set of activities coordinating the flow of messages across the -->
         <!-- services integrated within this business process -->
         <!-- ================================================================= -->
         <sequence name="main">
              <!-- Receive input from requester.
    Note: This maps to operation defined in echo.wsdl
    -->
              <receive name="receiveInput" partnerLink="client" portType="tns:echo" operation="process" variable="input" createInstance="yes"/>
              <!-- Generate reply to synchronous request -->
              <assign>
                   <copy>
                        <from expression="concat('echo: ', bpws:getVariableData(&quot;input&quot;, &quot;payload&quot;, &quot;/tns:echoRequest/tns:input&quot;))">
                        </from>
                        <to variable="output" part="payload" query="/tns:echoResponse/tns:result"/>
                   </copy>
              </assign>
              <reply name="replyOutput" partnerLink="client" portType="tns:echo" operation="process" variable="output"/>
         </sequence>
    </process>
    bpel process that invokes the echo service
    <!-- testHeader6 BPEL Process [Generated by the Oracle BPEL Designer] -->
    <process name="testHeader6" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension">
         <!-- ================================================================= -->
         <!-- PARTNERLINKS -->
         <!-- List of services participating in this BPEL process -->
         <!-- ================================================================= -->
         <partnerLinks>
              <!-- The 'client' role represents the requester of this service. -->
              <partnerLink name="client" partnerLinkType="tns:testHeader6" myRole="testHeader6Provider"/>
              <partnerLink name="echo" partnerLinkType="tns:echo" partnerRole="echoProvider"/>
         </partnerLinks>
         <!-- ================================================================= -->
         <!-- VARIABLES -->
         <!-- List of messages and XML documents used within this BPEL process -->
         <!-- ================================================================= -->
         <variables>
              <!-- Reference to the message passed as input during initiation -->
              <variable name="input" messageType="tns:testHeader6RequestMessage"/>
              <!--
    Reference to the message that will be returned to the requester
    -->
              <variable name="output" messageType="tns:testHeader6ResponseMessage"/>
              <variable messageType="tns:echoRequestMessage" name="i2"/>
              <variable messageType="tns:echoResponseMessage" name="o2"/>
              <variable name="header" messageType="tns:Header"/>
         </variables>
         <!-- ================================================================= -->
         <!-- ORCHESTRATION LOGIC -->
         <!-- Set of activities coordinating the flow of messages across the -->
         <!-- services integrated within this business process -->
         <!-- ================================================================= -->
         <sequence name="main">
              <!-- Receive input from requester.
    Note: This maps to operation defined in testHeader6.wsdl
    -->
              <receive name="receiveInput" partnerLink="client" portType="tns:testHeader6" operation="process" variable="input" createInstance="yes"/>
              <!-- Generate reply to synchronous request -->
              <assign>
                   <copy>
                        <from expression="12345">
                        </from>
                        <to variable="i2" part="payload" query="/tns:echoRequest/tns:input"/>
                   </copy>
                   <copy>
                        <from expression="1111">
                        </from>
                        <to variable="header" part="SessionHeader" query="/tns:SessionHeader/tns:sessionId"/>
                   </copy>
              </assign>
              <invoke partnerLink="echo" portType="tns:echo" operation="process" inputVariable="i2" bpelx:inputHeaderVariable="header" outputVariable="o2"/>
              <reply name="replyOutput" partnerLink="client" portType="tns:testHeader6" operation="process" variable="output"/>
         </sequence>
    </process>

  • How to generate soap header using java code

    Hi,
    I need to generate the following soap header using java DOM.
    Can you send me some java code snippet to do so?
    <soapenv:Header>
    <api:RequesterCredentials soapenv:mustUnderstand="0" xmlns:api="urn:ThinkPod:api:ThinkPodAPI" xmlns:ebl="urn:ThinkPod:apis:eBLBaseComponents">
    <ebl:ThinkPodAuthToken>YourToken</ebl:ThinkPodAuthToken>
    <ebl:Credentials>
    <ebl:DevId>YourDevId</ebl:DevId>
    <ebl:AppId>YourAppId</ebl:AppId>
    <ebl:AuthCert>YourAuthCert</ebl:AuthCert>
    </ebl:Credentials>
    </api:RequesterCredentials>
    </soapenv:Header>

    You want to generate that on a mobile device or how is that related to CLDC and MIDP?

  • How to create SOAP Header elements using SAAJ??

    I am facing a problem when adding header elements under SOAP Header
    using SAAJ(api).
    I want to create a structure as following:
    I get a empty SOAP header obejct by writing code--> SOAPHeader header
    = envelope.getHeader();
    But not able to add SOAP header elements as specified in example
    below. I tried but its giving me error as
    "HeaderElements must be namespace qualified"
    CAN ANYBODY TELL ME THAT HOW TO ADD HEADER ELEMENTS USING SAAJ??
    <SOAP:Header>
    <AccountNumber>123</AccountNumber>
    <AuthorisationCode>test111</AuthorisationCode>
    <Source>abc</Source>
    <Market>01</Market>
    </SOAP:Header>

    I'm including this comment from some code I've just written after wrestling with this for hours (I've actually left it on another post as well). The upshot of it all is that you have to include a namespace URI when creating a header in SAAJ:
            NOTE: SOAP 1.1 requires that all header entries be namespace-qualified to
            namespace URI's.  The SAAJ 1.2 implementation requires a Name object with
            the namespace URI to make this happen even if the prefix used is already
            visible by being declared higher in the document (e.g. in the Envelope).
            However, the namespace URI is not present in the serialized header element
            as long as it was declared higher in the document.  In order to create a
            header element without a prefix (to conform to a web service definition
            that doesn't use a prefix in its headers, for example), leave the prefix
            null in the addHeaderElement() method. 
            For example, with a SOAPHeader 'hdr':
              //first create the name
              Name name = env.createName("my-local-name", null, "my-URI");
              //then create the header element
              SOAPHeaderElement he = hdr.addHeaderElement(name);
            This would result in an XML element that looked like this:
              <my-local-name xmlns="my-URI"/>
            This would allow SAAJ developers to create a header for a service that
            only expected a local name in its header elements (as many do!).  As long
            as the service doesn't choke on the attribute (validation!  evil!), this
            should work.
                                                        Rob Kemmer
                                                        01/12/2005
     

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

  • How to generate soap header elemtn ds:X509Certificate in SAOP message?

    Hello all,
    could you please help me to solve the following issue?
    I need to generate a following security header on weblogic 10.3:
    <ds:KeyInfo>
    <ds:X509Data>
    <ds:X509Certificate>MIICtTC.....</X509Certificate>
    </X509Data>
    </ds:KeyInfo>
    </ds:Signature>
    If I use a standard Weblogic WS-Policy file (e.g., Wssp1.2-2007-Wss1.0-X509-Basic256.xml), the following header is created (please ignore changes in namespaces):
    <dsig:KeyInfo>
         <wsse:SecurityTokenReference
              xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
              xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"
              xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
              wsse11:TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
              wsu:Id="str_vUsIPkGU5I26BGcy">
         <wsse:KeyIdentifier
              EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
              ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">zgXqyWX5atWpNj5EhRsF7viA3uU=</wsse:KeyIdentifier>
         </wsse:SecurityTokenReference>
    </dsig:KeyInfo>
    The header in this case point to <wsse:BinarySecurityToken... which contains the certificate but it is not what I need. I need the certificate to be included directly in Keyinfo element.
    Do you know how to achieve it, if I should modify a ws-policy file (and how in this case) or if I can somehow tell Weblogic how the result SOAP message should look like? Or will I have to implement this by myself using some existing java libraries and bypass Weblogic security?
    Thanks in advance
    Jaroslav

    Eric,
    Could you please recommand a good document on how to work with routing, stage, action ...?http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/proxyactions.html#wp1265888
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/proxyactions.html#wp1319158
    http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Hope it helps !!
    Regards,
    Abhinav Gupta

  • In Receiver Mail Adapter ,how to ignore SOAP Header attachment

    HI Folks,
    Am using Receiver Mail Adapter and am getting 2 attachments.
    1. one is Soap header which contains Control records
    2. payload
    I want only Payload as attachment and need to ignore SOAP Header(AT00001.xml).
    The configuration is as below:-Trasport protocol : SMTP
                                                Message Protocol: XIALL
    Please provide Inputs.
    Thanks & Regards
    Ashok Reddy

    Hi Gagandeep,
    Scenario: File------>mail( Bypass scenario)
    i had posted file in FTP and am getting attachment properly but aditionally am getting ATT00001.xml as SoapHeader.this i need to ignore.
    PFB Module Parametrs i used:
    localejbs/AF_Modules/MessageTransformBean   LocalEnterpriseBean    transform
    Modulekey                      Parameterattribute                        value
    transform                      Transform.ContentDisposition            attachment;filename=”Pocr_860.txt”
    transform                     Tansform.ContentType                       text/plain
    Regards
    Ashok

  • How to set SOAP Header When Calling Business Service (OSB) Using Split-Join

    Hi,
    We need to call WSDL based webservice which requires heading static content for successful call. As we need to call the same service parallely, hence we want to use Split-Join.
    Looked at couple of forum links, noted that we can't play with headers while working with Split-Join.
    For curiosity, just want to check any option other than using proxy as mediator in setting header information.
    Regards
    Venkata Madhu

    Venkata,
    You still have the option, if you hv n't tried this one.
    To enable this capability, you must declare the header parts along with the body parts in a single request/response message in the Split-Join WSDL and in the WSDL of the proxy or business services invoked by the Split-Join. With the message parts declared in the WSDLs, SOAP header content is available to Split-Joins in the request/response message variables.
    Following is an example of the message and binding definitions in the WSDL.
    Message
    <wsdl:message name="retrieveCustomerOverviewByIdRequestMessage">
    <wsdl:part name="retrieveCustomerOverviewByIdRequest"
    element="co:retrieveCustomerOverviewByIdRequest"/>
    *<wsdl:part name="serviceContext" element="sc:serviceContext"/>*
    </wsdl:message>
    Binding
    <wsdl:input>
    <soap:body use="literal" parts="retrieveCustomerOverviewByIdRequest"/>
    *<soap:header message="tns:retrieveCustomerOverviewByIdRequestMessage"part="serviceContext" use="literal"/>*
    </wsdl:input>
    hope it helps !!
    Regards,
    Abhinav

  • How to add SOAP header element?

    Hi,
    Scenario : RFC --> SOAP
    I would like to add parameters into the soap header :
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
          <SOAP:Header>
                *<OPER_REF>SAPPI</OPER_REF>*
          </SOAP:Header>
          <SOAP:Body>
              <ns2:createSapProductRequest xmlns:ns2="http://www.mycompnay.com/projectname">
                        <country>FR</country>
                     <division>1300</division>
                     <productStage/>
              </ns2:createSapProductRequest>
            </SOAP:Body>
    </SOAP:Envelope>
    So I made a Java Mapping to reach my goal so my message looks like :
    <ns0:Messages
         xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
         <ns0:Message1>
              <SOAP:Envelope
                   xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
                   <SOAP:Header>
                        <OPER_REF>SAPPI</OPER_REF>
                   </SOAP:Header>
                   <SOAP:Body>
                        <ns2:createSapProductRequest
                             xmlns:ns2="http://www.mycompany.com/myproject">
                             <country>FR</country>
                             <division>1300</division>
                             <productStage/>
                        </ns2:createSapProductRequest>
                   </SOAP:Body>
              </SOAP:Envelope>
         </ns0:Message1>
    </ns0:Messages>
    But when I launch the process here is what PI do :
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <soapenv:Header>
       <OPER_REF xmlns="">SAPPI</OPER_REF>
      </soapenv:Header>
      <soapenv:Body>
       <ns2:createSapProductRequest xmlns="http://www.mycompnay.com/myprojecty" xmlns:ns2="http://www.mycompnay.com/myprojecty">
        <country xmlns="">FR</country>
        <division xmlns="">1300</division>
        <productStage xmlns=""></productStage>
       </ns2:createSapProductRequest>
      </soapenv:Body>
    </soapenv:Body>
    </soapenv:Envelope>
    this request has been found thanks to the tool TCPGW. Has you can see there is 2 <soapenv:Body>
    What is wrong ?
    regards

    I was right, the solution is :
    My problem was the adapter. It was miss used.
    _The configuration is : _
    HTTP without SOAP Envelope and in the Module :
    Name : localejbs/AF_Modules/MessageTransformBean
    Type : L
    Key : Plain2XML
    _Module's Configuration : _
    Plain2XML -> Transform.ContentType -> text/xml;charset=utf-8
    All the XML messages was well formed even with the strange xmlns attributes.
    Regards

  • How to pass  soap header variable for invoking siebel service in BPEL

    Hi,
    I am invoking siebel service in soa composite. siebel service have header variables username/password and session type. I have created global variable (message type) in BPEL anddeclare same in messages port in siebel wsdl. after that I passed the username/password and session type as hard coded in assign activity. I have deployed and tested this but, I have an exception like javax.xml.ws.soap.SOAPFaultException: Error Code: 10944642 Error Message: Error: Inbound SOAP Message - Session Token is missing or invalid or has expired
    Can you please help on this..

    Hi,
    check this thread
    http://help.sap.com/saphelp_nw04/helpdata/en/71/bcf3bf2ed7e142a5011b43c288f08c/content.htm
    HTTP Header parameters in iView.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/bc-jas/~form/handler
    May help you
    Regards,
    RK

Maybe you are looking for