SOAP Header modification.

Hello All,
Please help me. I am trying to use the following scenario RFC to XI and SOAP to post the message.
I am getting all the info I need in RFC, but the problem is I have to modify the Header fields. The SOAP system is expecting custom parameters in Header and Body (envelope). I know we can do this using ‘Do not use SOAP envelope’ in communication channel check box. My problem is how can I map for header and as well as body.
Please help me as soon as possible.
Thank you very much and have a nice day.

Check out this threads
Re: XI30 SPS16 - SOAP Sender Adapter - self-defined SOAP-Header
SOAP Adapter: DO not use soap envelope

Similar Messages

  • JCAPS 5.12 - modifying SOAP header for webservice Invocation

    I am trying to call an external web service from JCAPS 5.1.2 and need to set a token in the SOAP header. I am able to do this in other client implementations, however, the methods to modify the header don't seem to be exposed within JCAPS 5.1.2 or I do not know how to find the methods.
    Has anyone tried this before?

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated

  • 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" ?>
    - <!--
    - <SOAP:Envelope xmlns:SOAP="" xmlns:SAP="">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="" xmlns:SOAP="" xmlns:wsu="" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="" xmlns:SOAP="" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="" xmlns:SOAP="" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="" xmlns:SOAP="">
    + <SAP:PerformanceHeader xmlns:SAP="">
    - <SAP:DynamicConfiguration xmlns:SAP="" xmlns:SOAP="" SOAP:mustUnderstand="1">
      <SAP:Record namespace="" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
    - <SAP:Diagnostic xmlns:SAP="" xmlns:SOAP="" SOAP:mustUnderstand="1">
    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 )
    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
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    Do I use message mapping to extract the DCJMS* variables?
    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?
    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: 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 Method)
    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
    Do you know why I would get the compilation error?
    Any assistance would be appreciated

    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="" xmlns:SOAP="" SOAP:mustUnderstand="1">
      <SAP:Record namespace="" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
    <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>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    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="">
    Please advise
    Thanks Mike

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

    Hi Experts,
    We are using SOA Suite 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"
    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!

  • 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:
    <m:AuthHeader xmlns:m="">
    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.
        CREATE OBJECT lo_zws_jp_co_service_soap
            logical_port_name = 'ZWS_JP_LP4'.
      CATCH cx_ai_system_fault INTO lo_fault.
        MESSAGE lo_fault TYPE 'I'.
    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 ).
        '<m:AuthHeader xmlns:m="">'
    INTO l_string.
    l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
        xml           = l_xstring
        document      = xml_document
        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( ).
            name            = lv_name
            namespace       = lv_namespace
            dom             = xml_element
            must_understand = SPACE
        xml_element ?= xml_element->get_next( ).
    input-job_ad-id = 0.
    input-job_ad_text-id = 0.
    input-job_ad-publish_location = 1.
        CALL METHOD lo_zws_jp_co_service_soap->create_job_ad
            input  = input
            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.
    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?

      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?

  • 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="" xmlns:xsi="" xmlns:xsd="">
    <ns0:Context xmlns:ns0="">
    <ns0:StartWorkflow xmlns:ns0="">
    I am trying to invoke the 'startworkflow' operation of Informatica web service Dataintegration.wsdl
    Edited by: user611166 on Apr 1, 2010 10:10 AM

    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!

  • Calling Web Service with SOAP header from BPEL

    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="" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
    +</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns=""><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>
    As said, no header information is visible in the Invoke activity.
    Please provide help for the above issue.

    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">+
    +<from expression="'tkl12'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
    +<from expression="'tkl123'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
    +<from expression="'TKL'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
    The expected input by the web service is as below with the header information highlighted.
    +<soap:Envelope xmlns:soap="" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+

  • How to add security credentials to SOAP header for EBS Web Service call..

    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

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

    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

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

    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.

  • Issue in PA - Header Modifications for IT0105

    Hi All,
    I have done header modifications for PA30 Screen, IT0000, IT0001 and IT 0105 (Communications) and for IT0021.
    I am able to get the details of PA, PSA, EG and ESG in the header details.
    But when an employee PA/PSA/EG/ESG has changed becoz of any action, the same information is not shown in IT0105 header details. System is picking up the old PA/PSA/EG/ESG details only.
    If i change the start date in IT0105 as per the last action run, then it is picking up the updated information. Where in the employee IT0105 (Mail ID/ Mobile Num) remains the same from his Date of joining.
    But as the action is been run and the PA/PSA/EG/ESG has already changed the same information should be updated automatically.
    Request you to guide me to get the updated PA/PSA/EG/ESG in  header details of IT0105.
    Kind Regards

    Dear Nagesh,
    what our Team members suggested is correct.
    check the F1 help of Field CHOOSE DATA in Table V_582A_B.
    F1 help.
    If you set the Choose Data indicator, you will use data that is valid for the start date of the current processed, or displayed, infotype record to structure the infotype header.
    If you do not set the Choose Data indicator, the data that is valid for the system date will be used to structure the infotype header.
    so uncheck the CHOOSE DATA field

  • How to add Custom Attributes in the SOAP header for OWSM

    I like to know how to add the Custom Attributes in the SOAP header for OSWM username token authentication.
    Currently we are getting the header element like
    <wsse:Security xmlns:wsse="" xmlns:wsu="">
    here we need to add the attribute "soap:mustUnderstand="1" , so the element will look like
    <wsse:Security soap:mustUnderstand="1" xmlns:wsse="" xmlns:wsu="">
    Any info on this will be helpful.

    Hi Jay, you can make it in more than 1 way.
    I suggest you the following:
    - create an URL iview that points to any URL you want.
    - define a Resource that points to the iview (with a window name, to open in new window)
    - define an Area that points to the resource
    - add your new Area to the your current Area Group

  • Unable to add custom SOAP header to consumer webservice in CRM( without using PI)

    Hello Experts,
    We have a requirement to consume webservice proxy in CRM without involving PI. We have WSDL file which has many services as depicted in the first screenshot.After checking old posts, I could add custom SOAP header by using if_wsprotocol_ws_header and there is no xml parsing error for ws_header.Have used if_ixml_stream_factory to check xml parsing error for header.
    '<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="" xmlns:wsu="">'
    '<wsse:UsernameToken wsu:Id="UsernameToken-2">'
                '<wsse:Username>user id</wsse:Username>'
                '<wsse:Password Type="">paswd</wsse:Password>'
                '<wsse:Nonce EncodingType="">MT0B9XFzsZJXXKmVKOsj/Q==</wsse:Nonce>'
    '</soapenv:Header>' INTO l_string.
    But when my ABAP program as a whole gets executed where consumer proxy is called, then it still throws XML parsing error - undeclared namespace prefix. As mentioned, there is no parsing error for header and WSDL file as a whole in SOAP UI tool works fine,by manually adding SOAP header.
    Have configured SOAMANAGER with logical port.Or any wrong setting in SOAMANAGER can cause this issue? When I tested webservice ping, it gave me attached error but I read in a SAP note that such error can be ignored.
    I want to know if some more setting/coding is required if we manually add custom header to a payload? Is PI really required to implement this requirement? Payload mapping has to be done to add custom header and if that can be taken care by ABAP coding and how?
    Can you please help?
    Nisha Verma

    Hello Experts,
    I have not found the solution yet.
    Can anyone provide some insight??
    Nisha Verma

  • 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

  • Creating Custom SOAP header in the Sender soap scenario

    Hello Experts,
    Currently i have a SOAP to RFC scenario . In which in the request parameter i have single input parameter. But as per the requirement we need to have some xml parameters in the soap header .
    So i want the soap request looks like below,
    <?xml version="1.0"?>
    -<SOAP-ENV:Envelope xmlns:xsd="" xmlns:xsi="" xmlns:SOAP-ENC="" xmlns:SOAP-ENV="">
    -<ns0:TestHeader xmlns:ns0="">
    <MessageRole rtype=""/>
    <SourceID idtype=""/>
    <DestinationID idtype=""/>
    <Property Name=""/>
    -<m:MT_CERT_IP xmlns:m="">
    Kindly let me know the steps, how can i achieve this ??
    I have referred the AddSOAPHeaderBean  module but still not received the needed output.
    Best Regards,

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

Maybe you are looking for

  • How do I install leopard on an external drive

    I have been unable to install snow leopard on my external drive, when I put the install disc in the drive on the iMAC, it shows up on the desktop, but i cannot get it to install on the external drive, the iMAC has Lion installed.

  • Error when i try to print in Crystal Report

    Hi , im student from mexico, i have a truble with Crystal Report so u can help me ? plz my problem with Crystal Report is when i try to print check my code     repComandaGeneral.Load("C:\Users\Usuario\Documents\DozRES - comandas\RepTicketCGeneral.rpt

  • Is it possible to migrate data from a 4.6C system to an ECC 6.0 system?

    Hello all, We have an ECC6.0/Oracle 11g system which runs Finance, Purchasing and Payroll/HR for our own organisation. We also have another 4.6C/Oracle9 system where we run only Payroll for another organisation. This is a separate landscape (Dev / Te

  • Mirroring dock on multiple displays ..?

    I use an external display and would like to have Dock mirrored on both screens. It doesn't make sense to be working in full screen on the external display with the App's menu only on the laptop display. I can mirror desktops so that I can see the sam

  • InfoProvider Query Catalog

    Hello BW Gurus, I m trying to create a Catalog that can display the information in following format: - InfoArea Description (ex Account Receiveable) InfoProvider1 (Cube or ODS) Query1a Tech Name                    Query Description Query1b Tech Name