To populate SOAP Header

Hi,
  We have a scenario proxy -> XI -> SOAP. In the receiver side we need to populate the soap header in the following format.
<SOAP:Envelope>
<SOAP:Header>
<CustomTag1>fddgg</CustomTag1>
<CustomTag2>uduh</CustomTag2>
<CustomeTag3>yyyy</CustomTag3>
<CustomTag4>ZZZZ</CustomTag4>
</SOAP:Header>
<SOAP:Body>
....Some data ...
</SOAP:Body>
</SOAP:Envelope>
    How can we achieve this in the receiver SOAP adapter. Can we achive this by ASMA.Thanks for all the inputs.
Thanks And Regards
Sripathi

Hi Udo,
  When i imported my WSDL to external defnitions,all the methods got moved to my external defnitions. The problem
i am facing now is i don't see the SOAP header elements( When i move one of this method) in my mapping objects to
map the header elements.
<SOAP:Header>
<CustomTag1>fddgg</CustomTag1>
<CustomTag2>uduh</CustomTag2>
<CustomTag3>YYYY</CustomTag3>
<CustomTag1>ZZZZ</CustomTag1>
</SOAP:Header>
   Do you want us to create this data strucute mannually in the required format or is there any way in which i can access the header elements. Thanks for the input.
Thanks And Regards
Sripathi G Yogesh

Similar Messages

  • How to populate the SOAP Header in JCD/BP while consuming WebService?

    Hello,
    I am trying to invoke a external webservice through both JCD/BP in JCAPS513 and as per wsdl defination we need to send user and token information in the SOAP Header. When I imported the WebService defination into the JCDP/BP, I do not see message part corresponding to SOAP Header. Can anyone help me here?
    Here is the WSDL message, operation & binding details:
    <wsdl:operation name="GetOrderID"> <wsdl:operation name="GetOrderID"> <wsdl:message name="GetOrderIDSoapIn">
    <wsdl:part name="parameters"
    element="tns:GetOrderID"/>
    </wsdl:message>
    <wsdl:message name="GetOrderIDSoapOut">
    <wsdl:part name="parameters"
    element="tns:GetOrderIDResponse"/>
    </wsdl:message>
    <wsdl:message name="GetOrderIDWebServiceCredential">
    <wsdl:part name="WebServiceCredential"
    element="tns:WebServiceCredential"/>
    </wsdl:message>
    <wsdl:input message="tns:GetOrderIDSoapIn"/>
    <wsdl:output message="tns:GetOrderIDSoapOut"/>
    </wsdl:operation>
    <soap:operation soapAction="http://xxxxxx.xxxx.xxx/V2/GetOrderID"
    style="document"/>
    <wsdl:input>
    <soap:body use="literal"/>
    {color:#ff0000} *<soap:header message="tns:GetOrderIDWebServiceCredential"*
    * part="WebServiceCredential"*
    * use="literal"></soap:header>*{color}
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    Hi Ganesh,
    Please go through this link.
    http://www.sapag.co.in/SAP-XI-SOAP-Adapter-FAQ'S.html
    I think this would be helpful for you..
    Reward points if useful,
    Swamy Kunche

  • Calling A Secured webservice using Username and password in the Soap header

    I want to call a secured webservice.
    The Username and password should be sent with the payload in the SOAP Header
    as
    <wsse:Security S:mustunderstand="0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="SecurityToken-XXXXXXXXXXXXXXXXXXXXXXXXX" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>uname</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pwd</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    Can you please send me the steps?
    I tried with giving the username and password under Service Account.
    I tried to create a wspolicy under business service. But nothing works...
    Please help me at the earliest.
    Also please give me steps in sequence.

    Now i made sure that the endpoint is available!
    Now am getting this error:
    <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>BEA-380002: localhost1</faultstring>
    <detail>
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-380002</con:errorCode>
    <con:reason>localhost1</con:reason>
    <con:location>
    <con:node>RouteNode1</con:node>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    </detail>
    </soapenv:Fault>
    Also in the invocation trace i can observe the following things:
    Under Invocation Trace:-
    ========================
         Receiving request =====> Initial Message context
         ===============================================
         under added header:-
         ==================
         <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         under RouteNode1
    ================
         Route to "TargetMyService_BS"
    $header (request):-
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header>
    Under Message Context changes:-
    *===============================*
    I can find this element also:-
    con:security>
    *<con:doOutboundWss>false</con:doOutboundWss>*
    *</con:security>*
    eventhough we enabled ws security, how the above tag can be false?
    I think its getting failed to populate the header with the required login credentials.
    The other doubt i have is:-
    =================
    I have chosen the service account type is static...is this right?

  • How to add  variables in SOAP header before to call my Physical Service?

    In ODSI,
    I created a Physical Service for an external WebService (third part).
    In a logical Service (inside a XQuery Extension Function) i am calling the previous Physical Service. However, I need to add some variables in the SOAP Header Request before to call that Physical Service.
    Thanks

    Since your webservice accepts a SOAP Header, the wsdl for your webservice should describe that SOAP header (as well as the body). And when ODSI creates the physical data service from the wsdl, the read function will take two arguments - one is the SOAP header and the other is the SOAP body. All you need to do is populate the soap header and body.
    If your wsdl does not describe the soap header - fix it so that it does. If need be, make a copy of the wsdl, modify it to describe the soap header, save it in your DataSpace, and then (re)create the physical data service from the wsdl.
    - Mike

  • Adding values to XI Soap Header

    Hi All,
    We have scenario, Soap to RFC. We are generating the wsdl for the ICO. We want the end system to send some values in the soap header(XI Soap header). We have used the keep header in the sender soap communication channel and added the value to the variable binding. When we generate the wsdl, there is no header in wsdl. We can only get the body.
    Kindly let us know if what we are doing is correct.
    Also please let us know how it can be  done.

    Hi,
    We want the end system to send some values in the soap header(XI Soap header). We have used the keep header in the sender soap communication channel and added the value to the variable binding. When we generate the wsdl, there is no header in wsdl. We can only get the body.
    Checking the Keep Header option will only include the XI header as part of the response message. It will not be included in the request message. The variable binding allows you to place three variable headers (HTTP Headers) that you can use in dynamic config, it will not populate the SOAP Header at all.
    If there is information in the SOAP Header that you need, you might as well run it in noSOAP mode by checking Do Not Use SOAP Envelope in your sender CC.
    Regards,
    Mark

  • Archiving of Soap header part for a synchronous interfaces

    We have a requirement where we have to retain the soap header details for a longer period for tracking purpose. So is there any option of archiving only soap header part from the message for a synchronous interface.
    More Information about the requirement:
    1. We will be passing some parameters to the XI Soap header.
    2. In the WSDL we will add the header fields, so that the end system can populate them.This is done for tracking and searching the message, end to end.
    3.  Another thing to note, is that, for synchronous messages the payload will not be available (without enabling logging), Can we search the messages using the values in the header?
    4. The above process is done, keeping in mind that when the messages are archived, the XI soap header will be the only thing that will be archived and not the whole payload, and the messages that are archived can be searched or retrieved based on the values in the XI Soap header.
    Regards
    Nitya

    Hi,
    Glad to hear that you solve this issue, thanks for your sharing.
    Thanks,
    Linda Li
    Linda Li
    TechNet Community Support

  • Alter SOAP Header IDOC Outbound Field (MESTYP)

    We have an issue where we wish to change the SOAP Header IDOCOutbound record.  We are running PI7.0 SP10.
    I have tried changing the message mapping - but the message mapping is fine.
    I have looked at OSS notes 792333 and 728792 but this doesn't work.
    I have tried flagging the "Apply Control Record Values from payload" but this hasn't worked.
    Has anyone come across this before?
    We are mapping a standard Idoc to Custom Idoc and need to populate the custom idoc name into the receiving system.

    Barry,
    Cam you let us know what exactly you are trying to change?
    Apply Control Record From Payload is used to set only these values from the payload of the Idoc Control Records,
    MESCOD
    ·        MESCFT
    ·        TEST
    ·        EXPRSS
    ·        STD
    ·        STDVRS
    ·        STDMES
    ·        SNDSAD
    ·        SNDLAD
    ·        RCVSAD
    ·        RCVLAD
    ·        REFINT
    ·        REFGRP
    ·        REFMES
    ·        STATUS
    ·        DIRECT
    ·        OUTMOD
    ·        CREDAT
    ·        CRETIM
    If you want to set the value of the Sender Partner Name and Port from the Idoc Control Record , then fill in the values for SNDPRN and SNDPOR ( same for Receiver -- RCVPOR and RCVPRN ) and then select option, Take Sender From Payload  / Take Receiver From payload in the Idoc Adapter.
    Regards
    Bhavesh

  • How do I access the DCJMS* variables in my response SOAP:Header ?

    Hi all,
    I have set up a sync / async Integration Process in XI
    This is initiated by a SAP R/3 transaction that calls a synchronous function to enter XI
    Once in the Bridge, a JMS receiver adapter sends out an asynchronous request message from XI to MQ
    A correlation allows the JMS sender adapter to return an asynchronous response message from MQ to XI back into my the Integration Process
    I have set up the JMS sender adapter configuration to return the DC (dynamic configuration) variables in the <SOAP:Header> of the XI response message along with the payload
    You can see that the DCJMS* variables are returned below
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Response
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    + <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information
    <b>Question</b>
    I want to access the DCJMS* variables but am not sure how to go about it as the
    variables exist in the <SOAP:Header>?
    I followed the SAP documentation to access adapter-specific attributes (refer to link http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    I have used the following code to create a user-defined function for the accessing adapter specific attributes (similar to the link)
    public String Get_Msgid(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSMessageID");
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    <b>Question</b>
    Do I use message mapping to extract the DCJMS* variables?
    <b>Question</b>
    If so then which message is used for the source message so that I can access the <SOAP:Header>?  Eg do I use the response message type or is there a trick to accessing the SOAP:Header?
    <b>Question</b>
    Do I use the user-defined function (like above)?
    I performed the following steps
    •     Opened the message mapping in edit mode
    •     Created the user-defined function using the graphical editor
    •     Saved the message mapping
    •     I have not connected the user-defined function to any of the xml tags in either the source or target messages
    When I go to test the message mapping I am getting the following error
    Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    STACKTRACE:
    com.sap.aii.ib.core.mapping.exec.ExecuteException: Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    at  com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
    at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:153)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    A thread in the SDN (Error while Activating Message Mapping, Posted: Jan 9, 2007 3:32 PM) suggests checking the java path on the XI machine
    This is JAVA_HOME=C:\j2sdk1.4.2_08 and seems ok
    <b>Question</b>
    Do you know why I would get the compilation error?
    Any assistance would be appreciated
    Regards,
    Mike

    Jin,
    My compilation issue has gone via a SAP recommendation to specify the JDK home directory in the instance profile
    Back to the mapping - I can now run my scenario
    <b>Source message</b>
    The response message has the following <SOAP:Header> from which I want to extract the DCJMSCorreleationID (note that it's misspelt)
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Response
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    <b>Grahpical mapping</b>
    LHS - Response message with occurrance 0..1 so it is not connected to my UDF
    UDF Get_Corrid with no inputs
    RHS - The UDF output is connected to the Acknowledgement msg tag <ACK>
    <b>UDF</b>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSCorreleationID");
    String Corrid = conf.get(key);
    return Corrid;
    <b>Target message</b>
    The idea is to copy the correlation id of the response message into the acknowledgement message.  But as you can see the result is NULL
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns2:AWB0020_MARKET_DATA_RESPONSE_ACK xmlns:ns2="http://awb.com.au/mq/tx/MarketData">
      <ACK>null</ACK>
      </ns2:AWB0020_MARKET_DATA_RESPONSE_ACK>
    Please advise
    Thanks Mike

  • 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

  • Error in soap header when use webservice consumer proxy

    Hi all,
    I create a webservice consumer proxy to external server. the webservice provider is .Net  and it required a message level security.
    The soap message should include a soap header, like this:
    <SOAP-ENV:Header>
    <m:AuthHeader xmlns:m="http://tempuri.org/">
    <m:Username>test1</m:Username>
    <m:Password>test</m:Password>
    </m:AuthHeader>
    </SOAP-ENV:Header>
    I have found many information from here. Now I used  IF_WSPROTOCOL_WS_HEADER in my program, like this:
    REPORT  zws_jp_test01.
    DATA: lo_zws_jp_co_service_soap TYPE REF TO zws_jp_co_service_soap .
    DATA: lo_fault TYPE REF TO cx_ai_system_fault.
    DATA: lo_appl_fault TYPE REF TO cx_ai_application_fault.
    TRY.
        CREATE OBJECT lo_zws_jp_co_service_soap
          EXPORTING
            logical_port_name = 'ZWS_JP_LP4'.
      CATCH cx_ai_system_fault INTO lo_fault.
        MESSAGE lo_fault TYPE 'I'.
    ENDTRY.
    DATA: output TYPE zws_jp_create_job_ad_soap_out .
    DATA: input TYPE zws_jp_create_job_ad_soap_in .
    DATA: lr_ws_header TYPE REF TO if_wsprotocol_ws_header.
    DATA: lv_name TYPE string,
          lv_namespace TYPE string.
    DATA l_xstring TYPE xstring.
    DATA l_string TYPE string.
    DATA: ixml TYPE REF TO if_ixml,
         xml_document TYPE REF TO if_ixml_document,
         xml_root TYPE REF TO if_ixml_element,
         xml_element TYPE REF TO if_ixml_element,
         xml_node TYPE REF TO if_ixml_node.
    lr_ws_header ?= lo_zws_jp_co_service_soap->get_protocol(
                                               if_wsprotocol=>ws_header ).
    CONCATENATE
      '<SOAP-ENV:Header>'
        '<m:AuthHeader xmlns:m="http://tempuri.org/">'
          '<m:Username>test1</m:Username>'
          '<m:Password>test</m:Password>'
        '</m:AuthHeader>'
      '</SOAP-ENV:Header>'
    INTO l_string.
    l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
    CALL FUNCTION 'SDIXML_XML_TO_DOM'
      EXPORTING
        xml           = l_xstring
      IMPORTING
        document      = xml_document
      EXCEPTIONS
        invalid_input = 1
        OTHERS        = 2.
    IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
      xml_root = xml_document->get_root_element( ).
      xml_element ?= xml_root->get_first_child( ).
      WHILE NOT xml_element IS INITIAL.
        lv_name = xml_element->get_name( ).
        lv_namespace = xml_element->get_namespace_uri( ).
        lr_ws_header->set_request_header(
            name            = lv_name
            namespace       = lv_namespace
            dom             = xml_element
            must_understand = SPACE
        xml_element ?= xml_element->get_next( ).
      ENDWHILE.
    ENDIF.
    input-job_ad-id = 0.
    input-job_ad_text-id = 0.
    input-job_ad-publish_location = 1.
    TRY.
        CALL METHOD lo_zws_jp_co_service_soap->create_job_ad
          EXPORTING
            input  = input
          IMPORTING
            output = output.
      CATCH cx_ai_system_fault INTO lo_fault .
        MESSAGE lo_fault TYPE 'I'.
      CATCH cx_ai_application_fault INTO lo_appl_fault.
        MESSAGE lo_appl_fault TYPE 'I'.
        WRITE: output-create_job_ad_result-id.
    ENDTRY.
    But there is error when I run this program. the error is "SoapFaultCode:1"
    In tcode ST11, I see this log:
    E SOAP_RUNTIME 20100624004837.9280000 : CL_SOAP_RUNTIME_CLIENT
    ->EXEC_PROCESSING SOAP Fault Exception caught: : SOAP header To
    was not understood.
    btw the release is  701.
    Any one can navigate me to solved the problem?

    Hi,
      I have the same problem as you did before and I posted my code in this [thread|Change SOAP Header: Consuming Webservice;.
      In order to to solve your problem, I need to know what is the header that you want to add into the header, what is WSDL, and have you try testing that web service using other tool such as SOAPUI or XMLSPY and what is the result of testing tool?
    Regards,
    Chaiphon

  • Passing SOAP header while invoking a web service partner link from BPEL

    I followed the steps of adding bpelx.inputheadervariable. Which is supposed to add the soad header. But after running the BPEL process if I see the message in the console, I don't see the SOAP header. Is there any way to see how the SOAP header is passed or did I set it incorrectly?
    This is what the message looks like:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
    <ns0:Context xmlns:ns0="http://www.informatica.com/wsh">
    <SessionId>[string]</SessionId>
    </ns0:Context>
    </soap:Header>
    <soap:Body>
    <ns0:StartWorkflow xmlns:ns0="http://www.informatica.com/wsh">
    <DIServiceInfo>
    <DomainName>[string]</DomainName>
    <ServiceName>[string]</ServiceName>
    </DIServiceInfo>
    <FolderName>[string]</FolderName>
    <WorkflowName>[string]</WorkflowName>
    <WorkflowRunId>[int]</WorkflowRunId>
    <WorkflowRunInstanceName>[string]</WorkflowRunInstanceName>
    <Reason>[string]</Reason>
    <Attribute>
    <Name>[string]</Name>
    <Value>[string]</Value>
    </Attribute>
    <Key>
    <Key>[string]</Key>
    <mustUse>[boolean]</mustUse>
    </Key>
    <ParameterFileName>[string]</ParameterFileName>
    <Parameters>
    <Parameters>
    <Scope>[string]</Scope>
    <Name>[string]</Name>
    <Value>[string]</Value>
    </Parameters>
    </Parameters>
    <RequestMode>[ETaskRunMode]</RequestMode>
    <TaskInstancePath>[string]</TaskInstancePath>
    <IsAbort>[boolean]</IsAbort>
    <OSUser>[string]</OSUser>
    </ns0:StartWorkflow>
    </soap:Body>
    </soap:Envelope>
    I am trying to invoke the 'startworkflow' operation of Informatica web service Dataintegration.wsdl
    Edited by: user611166 on Apr 1, 2010 10:10 AM

    Hi,
    Try using obtunnel with your bepl console.
    Alternatively, if your server is on unix/ linux, try tcpdump to capture packets to a particular server and then open the file in wireshark to analyse the contents.
    Wish SOA suite would allow us to view this by default!
    Regards,
    Sappy

  • 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 add security credentials to SOAP header for EBS Web Service call..

    All,
    I am trying to invoke a webservice that I successfully exposed as a WSDL Web Service using EBS Integrated SOA Gateway. I am using OBIEE 11g Action Framework which uses WebLogic.
    Here are the steps I completed:
    - I exposed a WSDL web service in EBS R12 via Integrated SOA Gateway
    - I granted the access to this service in EBS R12 to user SYSADMIN
    - I used OBIEE 11g to make a Action to call the Web service (using Action Framework) by searching for the WSDL
    - When I try to execute the action: I get the error:
    Action could not be invoked.
    ServiceExecutionFailure :
    Error invoking web service HR_PHONE_API_Service at endpoint http://ip-10-87-33-3.ec2.internal:8000/webservices/SOAProvider/plsql/hr_phone_api/ Missing <wsse:Security> in SOAP Header
    PROBLEM: I am unsure how to add the credentials for SYSADMIN user and password to add the SOAP username/pwd to the outgoing call. Anyone on this forum know how to set up the SOAP to call with the correct credentials? I have been looking at the documentation but it is not clearly explained.

    Dear Heiko,
    did you solve this problem?
    We are facing the same problem. Every parameter that requries "cmd" does not work. I guess we don´t use this paramter the right way.
    Best, Chris

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

  • Invoking web service with customized SOAP Header

    Hi,
    how can I invoke web services from my BPEL process with additional elements in the SOAP Header?
    Regards,
    Piotr

    I don't know if I completely understand your question, but here is an attempt at and answer.
    It place variables in the SOAP Header open the invoke popup, click on the Adapters tab and select the variable that you would like to add into the SOAP header.
    I really hope that helps.
    Chris

Maybe you are looking for

  • Problem with Java Studio Creator and Tomcat Server

    Hi Gays , I have problem: here is the error from tomcat 5 com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.JasperException: java.lang.RuntimeException: java.sql.SQLException: statement handle not executed: getMetaData com.sun.rave.

  • Unable to load OraMTS???

    Our database is Oracle 9i, and I'm using the ODP .NET Provider to connect to it using VB .NET. We use a data access mid-layer deployed in COM+. When I try instantiating my COM+ component and calling a procedure to access the database, I get the follo

  • HT2500 links no longer work in apple mail.

    links no longer work in apple mail, even though they do work on other mail services?

  • IPhoto quits unexpectedly after upgrading from iPhoto 7.1.5 to 9.2.1

    I upgraded directly from iPhoto 7.1.5 to 9.2.1 via the App Store in Lion. After launching iPhoto for the first time the application starts to rebuild the library. About 5 minutes later it quits and reports an "iPhoto quit unexpectedly" error. I tried

  • Output Server & "Read Ahead" for record type indicator files

    I have a design requirement where I need to read to the end of the print file (record type indicator format) before I can complete the process of laying down the subforms. I need to lay down a subform on page one, but will not get the data element ne