Can ws CC handle soap header data?

Hello Expert,
as we know for most of the PI adapters, there is a checkbox Adapter-Specific Attributes which could be used to handle/process protocol's header data. However for ws adapter (PI7.1) this checkbox is not available. Does that mean if certain data is provided in the soap header, PI ws adapter/CC will not be able to retrieve it and process it?
Please advise.
Thanks
Jayson

Hey Jayson,
It seems that WS adapter does have a place for the adapter specific attribute setting. I dont have access to the PI system right now... so cant exactly point the exact position for ASA in CC
But check out this : http://help.sap.com/saphelp_nwpi71/helpdata/en/45/874295b8f64d6de10000000a155369/frameset.htm
Hope it helps.
Thanks,
Pooja Pandey

Similar Messages

  • SOAP Header data into SXI_MONITOR

    Hi to all,
    in the SXI_MONITOR I can see the detailed SOAP header data by double-click on a specific message. The header data are visible in an XML format. Where these data are stored in ABAP SAP XI? How can I obtain these data as an XML document, for example, or as a  database table?
    Thanks to all!

    have a look on these Threads may be useful
    How to check header data
    HTTP Header fields in SOAP adapter
    Re: SOAP Header info
    Thanks !!

  • Sender SOAP adapter: get soap header data

    Hi,
    I've been going through various posts and blogs here on SDN + looked in the how to guide for SOAP adapter, but still find it quite difficult to actually find out how to do it. I've tried to follow recommendations seen, but it doesn't add up.
    So can someone please tell me how to get an element situated in the SOAP header of the request sent to XI via sender soap adapter?
    Let's for instance say the request looks like this:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Header>
              <SSN>1234567890</SSN>
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
              <event>
                   <elem1>data 1</elem1>
                   <elem2>data 2</elem2>
                   <elem3>data 3</elem3>
              </event>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    How can I get the data in the SSN-header element at mapping time?
    I'm sure this can be done by using adapter modules as the first step adapter, but I prefer doing it at mapping time if possible.
    Best Regards,
    Daniel

    I solved it on my own now. My missing link was the fact that I'm using XMLSPY to send request and thus need to replace all '&amp;' with & in Connection Endpoint.
    Message was edited by:
            Daniel Engsig-Karup

  • Handling SOAP HEADER using SOAP Receiver Adapter

    Hi Experts,
    I need to implement SOAP Receiver Scenario and passing ( Header fields  User, Password and token)  I have seen a lot of scenario using a XSLT Mapping, to handling the SOAP Header. So  need to help to understand some details:
    Suppose I need to implement the SOAP Header below? In this case I need add only the fields u201CUsername, Password and AuthenticationTokenu201D. I created the XSLT Transform, the source XML? Where I put it? Or can create it into Message Interface?
    Is it possible to do this in Java Mapping?
    Thanks!
    Best Regards
    Fábio Ferri
    <soap:Header>
          <v1:ExecutionHintHeader>
             <v1:Name></v1:Name>
             <!Optional:>
             <v1:Arguments>
                <!1 or more repetitions:>
                <v1:Argument Name="?" Value="?"/>
             </v1:Arguments>
          </v1:ExecutionHintHeader>
          <v1:CredentialsHeader>
             <!Optional:>
             <v1:Username>pi</v1:Username>
             <!Optional:>
             <v1:Password>jhjhjjhjhjius</v1:Password>
             <!Optional:>
             <v1:AuthenticationToken></v1:AuthenticationToken>
          </v1:CredentialsHeader>
       </soap:Header>

    You need to put XSLT mapping in 2° step mapping in request.
    SourceMessageRequest -> Message Mapping -> XSLT Mapping -> DestinationMessageRequest
    If you test mapping program, this should be working fine.
    In adapter module, put localejbs/AF_Modules/MessageTransformBean with parameter value text/xml; charset=utf-8 and correctly set Conversion Parameter "Do not use Soap Envelop"
    XSLT Request Mapping
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <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>
    <ServiceAuthHeader  xmlns="http://WIND.WEBSERVICES.DMS/">
    <Username>USER</Username>
    <Password>PASSWORD</Password>
    </ServiceAuthHeader>
    </soap:Header>
    <soap:Body>
    <xsl:copy-of select="*"/>
    </soap:Body></soap:Envelope>
    </xsl:template>
    </xsl:stylesheet>

  • Can PCI 6031E handle multi-buffered data acquisition

    If so can anyone send me some instructions or LabView code. Thank you in advance.

    Greetings,
    The PCI-6031E can handle single or double buffered acquisitions. The two best sources for examples and instructions are LabVIEW itself and our web site. Go to the "Help -> Find Examples" pull-down menu in LabVIEW to search for shipping examples. Look in the folder "Hardware Input and Output -> DAQ -> Analog Input -> General." Here you will find many analog input examples. Specifically, you should pay attention to the ones with "buffered" in the title.
    In addition to LabVIEW itself you will find our web site's Developer Zone extremely useful.
    Development Library
    http://zone.ni.com/devzone/devzone.nsf/6ae7945502d89dea0625685500506e1f/4d58b1b80ec41ef70625683f006e1d6d?OpenDocument
    Regards,
    Justin Britten
    Applications Engineer
    Nati
    onal Instruments

  • Passing data in SOAP Header

    Hi,
       I'm trying to make a SOAP call. As part of the SOAP message, I need to pass a string called session id. This doesn't seem possible from the message type, which only represents the SOAP body schema. How do I handle the SOAP header data in XI?
    Regards,
    Harsh

    Hi Udo,
       Thanks for the quick response. I'm trying to build the soap envelope manually. I imported this into the repository as an ED. But I'm not able to define use it in message mapping. Can you help me with this? I'm attaching the xml. Regards,
    Harsh
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <types>
    <xsd:element name="ABC">
    <xsd:complexType>
        <xsd:sequence>
              <xsd:element name="soapenv:Header">
                    <xsd:complexType>
                      <xsd:sequence>
                        <xsd:element name="urn:SessionID" type="xsd:string" />
                    </xsd:sequence>
              </xsd:complexType>
           </xsd:element>
       </xsd:sequence>
       <xsd:sequence>
               <xsd:element name="soapenv:Body">
               <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element name="urn:getserverTimeStamp" type="xsd:string" />
                   </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
       </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </types>
    <message name="getServerTimestampRequest">
              <part element="urn:getServerTimestamp" name="parameters" />
         </message>
    </xsd:schema>

  • SOAP adapter Header data

    This is SOAP to PROXY
    We are getting userid information in SOAP Header . This information has to be captured and pass to receiver.
    1) How to access the SOAP header data
    2) Can I Map it to target strcture, if so how target structure shud be formed.
    Please Note I cannot use XSLT as I donot have skils in XSLT coding/mapping.
    Edited by: Viswanath on Sep 30, 2008 10:55 PM

    Hi Viswanath,
    Please go through the Note-856597 for accessing SOAP header data in XI.
    Thanks,
    Jag

  • How to Capture Runtime SOAP Header in ABAP Webservice

    Hi All,
    I have created a WebService from a ABAP Function Module, and an external (Java Based) system is able consume to it. But while making the call, the external System enriches the SOAP header with certain values, and I need to capture these values in ABAP Function Module.
    How can read the enriched SOAP Header in my ABAP Function Module? is there any Class/Function Module which I can call to get the Runtime SOAP-HEADER or is the runtime SOAP-header available in one of the structures similar to SYST?
    Thanks,
    Ganesh

    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

  • Modify SOAP header in ABAP for 3rd party WSDL

    Hi SDN,
    I want to consume a 3rd party WSDL in ABAP. I have created the proxy through SE80, and created the logical port through LPCONFIG. The WSDL I'm using needs me to include some authentication (developer key, and password) in the header portion of the SOAP message. Example below.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://api.channeladvisor.com/webservices/">
       <soapenv:Header>
          <web:APICredentials>
             <web:DeveloperKey>XXX</web:DeveloperKey>
             <web:Password>XXX</web:Password>
          </web:APICredentials>
       </soapenv:Header>
       <soapenv:Body>
          <web:DoesSkuExist>
             <web:accountID>XXX</web:accountID>
             <web:sku></web:sku>
          </web:DoesSkuExist>
       </soapenv:Body>
    </soapenv:Envelope>
    How can I edit the SOAP header to include this information so that this WSDL will work when I call it? There must be a better way than hardcoding the SOAP call and using an HTTP client call.
    I've looked in google and SDN and haven't been able to find a good answer to this problem.
    Thanks guys.

    Have a search in SDN for "if_wsprotocol_ws_header" - there are several postings and examples and if you goto SE24 and look at the documentation attached to IF_WSPROTOCOL you can get to the example referred to in some of the SDN postings.  I also found "real" examples in SAP e.g. function group FITP_SABRE_WS, and I got it to work OK (eventually) after browsing some of these.
    Jonathan

  • Processing soap header in ejb, help me !!!

    Could anyone tell me how can i get the soap header information in ejb to process? I have implement the headercallback in the implementation bean and add the processheader method, but when i invoke the ejb method through proxy, the exception like "you must implement headercallback.." arise. Did i leave any step undone? Thank you very much!

    netbeans.org has a lot of resources on developing EJB. Just search at netbeans.org upper-right corner:
    http://www.netbeans.org/
    One of them is a 30-min tutorial:
    http://www.netbeans.org/kb/55/ejb30.html
    You can also read JavaEE Tutorial, especially the chapter Get Started with EJB:
    http://java.sun.com/javaee/5/docs/tutorial/doc/
    -cheng

  • Sales order header data change by using the ORDERS05 IDOC

    Hello Team
    I am getting sales order number and some code value from the legacy system. i need to check whether the sales order is avialable in SAP or not. if it is there, i need to update the CODE value (ie for example ABC100) in sales order header data> order data> your reference field.  For doing this i am using the IDOC type ORDERS05 and message type ORDCHG message type.
    Now i want to know what are the mandatory fields which i need to do the mapping for the IDOC ORDERS05, to change the sales order header data. please check and suggest me the required fields of the IDOC to be mapped, so that i can change the sales order header data.
    Please correct me if i am doing something wrong here.
    Regards
    Rj

    Hello chirag
    Thanks for your reply. My requirement is to change the sales order which is already avialable in SAP. Just i need to change the header data of the sales order, for example if i am getting the sales order as 1000 and CODE as ABC100. i need to change the Sales document number 1000 and put the code ABC100 in sales order header data>orders data>your reference field.
    So now i want to know the below points
    1. what are the mandatory fields for which i need to pass the values for the IDOC ORDERS05.
    2. what is the user-exit used for picking up those values from SAP because i am getting only sales order number and CODE values from legacy system.
    Please check and suggest me accordingly.
    Regards
    Rj

  • 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 change Data in SOAP Header

    Dear friends,
    We are facing a problem with IDOCs. We have a scenario where in we are sending IDOC from a logical system XXXCLNT040 to another one XYZCLNT004 using XI3.0 SP10.
    Now the problem is that we are simulating a situation wherein system XXXCLNT004 sends PORDCR1 idoc to XI and then XI send it to XYZCLTN004 which should return an acknowledgement to be sent to "just" XI and then to some third system not the original sender.
    Now, the problem is that we changed the mapping of the IDOC field SDNPRN to point to XI logicalsystem so that the receiver sees that message is sent from logical partner XI and not from XXXCLNT004 but when I check the idoc in we05 of the receiver side it still has partner XXXCLNT004 instead of XI and it seems that it takes it up from the SOAP message header data.
    Is there anyway we can manipulate this so that we can change/modify the sender logical partner information during runtime? or anyother suggestions.
    Thanks & Best Regards,
    Manish

    Hi Manish -
    You can't map the 6 sender and receiver control record fields (partner, port, and function) and have XI pick them up. See note 728792 for the fields that you can map. You can map them but they will be ignored even if you choose "Use control record values from payload". You need to use other methods. See note 792333 for the options.
    Also check out the document "How To Sample IDoc Scenarios within XI3.0" which is available in the How-To section for XI 3.0. This will give you a number of scenarios. Drink a lot of coffee before you read this document.
    This is definitely the most confusing part of XI IDoc processing so set aside some time to figure it out.

  • How can I get SessionID from SOAP Header in MessageMapping

    Hello experts,
    I've got a Abap Proxy --> PI --> WebService scenario. I do the call to the web service and it returns me the data and a SessionID in the SOAP header. I've got a message mapping for the response, and in this message mapping I need to get this sessionID because I have to use it later.
    I have tried with a UDF with this code:
    String headerField = "";
    try
      String key="SessionID";
      java.util.Map map;
      // get runtime constant map
      map = container.getTransformationParameters();
      // get value of header field by using variable key
      headerField = (String) map.get(key);
    catch(Exception e){}
    if(headerField==null)
        headerField = "";
    return headerField;
    But it returns me nothing.
    In sxmb_moni I can see the sessionID (see attached file), so It should be possible to access it.
    How can I do to get this data????
    Many thanks.

    Thanks Indrajit.
    I have found a solution. I have to use the option: Do Not Use SOAP Envelope in my communication channel.
    But as I am using web services I have to create the SOAP Envelope in my mapping (in request and in response).
    I have created 2 xslt mapping files: one for request and one for response. The xslt mapping for the request it is placed in second position in my operation mapping. This xslt maping just move the fields and add the soap envelope (header and body, and inside the body places the data from 1st mapping).
    The response xslt mapping it is placed directly in my operation mapping (in response area). It transforms the SOAP response into my Message Type.
    Here you can find my xslt for request (sessionID, in0, in1 and in2 are fields from my source message type):
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
        <SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope">
          <SOAP:Header>
         <ses:sessionIDHeader xmlns:ses="http://xml.apache.org/axis/session">
                 <sessionID><xsl:value-of select="*/sessionID"/></sessionID>
             </ses:sessionIDHeader>
          </SOAP:Header>
          <SOAP:Body>
          <ser:invokeService xmlns:ser="http://www.w3.org/2003/05/soap-envelope">
             <in0><xsl:value-of select="*/in0"/></in0>
             <in1><xsl:value-of select="*/in1"/></in1>
             <in2><xsl:value-of select="*/in2"/></in2>
          </ser:invokeService>
          </SOAP:Body>
        </SOAP:Envelope>
      </xsl:template>
    </xsl:stylesheet>
    Here is xslt for response (invokeServiceReturn,sessionIDare fields from my target message type):
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
        <ns1:MT_invokeServiceResponse xmlns:ns1="http://saras.com/pi/creditoycaucion">
            <invokeServiceReturn><xsl:value-of select="/*/*/*/invokeServiceReturn"/></invokeServiceReturn>
            <sessionID><xsl:value-of select="*/*/*/sessionID"/></sessionID>
        </ns1:MT_invokeServiceResponse>
      </xsl:template>
    </xsl:stylesheet>
    Kind Regards.

  • SOAP Receiver Adapter - Read Header data on Synchronous Response

    I have a scenario - flat file to SOAP. The web service provider sends a response that contains data in the Header that I need to access. I have tried to use the "Do Not Use SOAP envelope" option on my receiver SOAP adapter, and I have configured my request message type to include the soap envelope elements. However I'm getting the following error from the web service
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Cannot process the message because the content type 'application/xml' was not the expected type 'text/xml; charset=utf-8'.
    I've read some inputs on this error that say to use the Transform bean to adjust the content to text/xml. However I'm not sure how to do that. If that is the correct resolution to my problem, can someone provide detailed steps on how to add the Transform bean to the adapter module. I have no experience with adding items to the module tab.
    If there are other ways to tackle this scenario to get access to the SOAP Header from the SOAP receiver adapter, please share those as well.
    Thanks in advance.
    Chris

    Resolved with the following blog
    /people/varadharajan.krishnasamy/blog/2007/01/09/troubleshooting-soap-message--xi

Maybe you are looking for