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

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 !!

  • 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

  • JMS Adapter setting the header data of MQ message

    Hi All,
    I need to set the properties in JMS adapter for setting the header data of MQ message.
    JMS_IBM_MQMD_Format = MQFMT_NONE.
    Thanks in advance
    Ravijeet

    Hi All,
    I am stuck in a typical XI issue.......I have a scenario where my input to XI is IDoc and output is xml message going to IBM MQ.
    The IDoc is sending some chineese character which is fine is SXMB_MONI Integration server and also fine in the payload of message monitoring, so feel the message is going fine from XI to MQ.
    But the receiver EDI system which is picking the message from MQ queue says the chinese characters are getting corrupted. They say that you need to set the additional properties in MQ header data
    JMS_IBM_MQMD_Format = MQFMT_NONE.
    How do I do this in communication channel for jms adapter ? How to I set the MQ header data in jms communication channel ?
    Thanks in advance
    Ravijeet
    Edited by: RAVIJEET DAS on May 12, 2009 8:27 AM
    Edited by: RAVIJEET DAS on May 12, 2009 8:27 AM

  • Sender Mail adapter get no mails

    Hello,
    we are using the sender mail adapter to receive mails (IDOCS) from a Exchange server.
    A few days it works, but suddenly no mails are received.
    But in RWB the mail adapter status is green and shows, that there are no new mails. But when I check the mail box with OUTLOOK, there are some mails.
    When I deactivate and activate the mail adapter, all mails are read then.
    Pollinterval: 1 minute
    XI: SP10
    Who can help me are had s similar problem?
    Or is it possible to stop/start the mail adapter (or the adapter engine) automaitcally (more like a workarround)
    best regards
    Werner Magerl

    Hi All,
    I chekced your responses and tried accordingly. Our basis team has given me new link now and the error message has changed. I am getting following error message.
    exception caught during processing mail message; java.io.IOException: unexpected login response; read 001F BAD Command received in Invalid state.
    Does anyone have any idea what this error is?
    Thanks in advance,
    Devendra

  • XI Sender file adapter - How to process data and control files.

    Hello all,
       I have the following requirement to fulfill: I am using an FTP client (XI Sender file adapter) to retrieve data from an FTP site. To make sure I am not picking up a data file that is currently being written to, 2 files are actually present on the FTP site (for each data file):
    1. abc.ctrl (control file with no data in it. Indicates that the data file has been completely written).
    2. abc.dat (actual data file).
      I want the file/ftp connector in XI to retrieve the data file (abc.dat) only if the control file (abc.ctrl) is present. After the processing of the data file is finished, both files (.dat and .ctrl) should be deleted.
      Is there an elegant and robust way to accomplish this?
    Thanks for your help.

    Hi Yves,
    in my opinion there's no problem with files currently being written in combination with a polling file adapter because the final file name should be available only when the file is transferred completely. I'm using different file sender adapters very often and never had any problems. After picking up the files I move them to the corresponding archive folders mentioned in the adapters so that a second processing cannot occur.
    Regards
    Ralph

  • BC4J send messaging adapter gets JMS exception

    Running a 9i standalone application based on BC4J. The following code is trying to send a single VO to an 8i queue. Note: prior to entering this routine, I have already called the .writeXML() method on the same VO and looked at the text and the XML all looks great.
    AdapterMessage[] msgs = new AdapterMessage[1];
    try {
    // set up queue connection
    msgs[0] = AdapterMessage.newViewObjectMessage( vo );
    sendMessage( msgs );
    public void sendMessage( AdapterMessage[] messages)
    try
    ApplicationModule am = QWsetup.ApplicationModule();
    BC4JSendingAdapter adapter = new BC4JSendingAdapter();
    adapter.setShowTrace(true);
    adapter.sendMessage( am, messages);
    catch(AdapterFailureException e)
    System.err.println("sendMessage error: "+e.getMessage()+"\n"+
    e.getOriginalException());
    e.printStackTrace();
    I step into the adapter.sendMessage line and get the following in my message window...
    [2] Creating JDBC Connection...
    [3] oracle.jdbc.driver.OracleDriver
    [4] jdbc:oracle:thin:@pgia05.pginw.com:1521:qmpgit
    [5] Creating Topic Connection...
    [6] Creating Topic Session...
    [7] Creating Topic...
    [8] Publishing message...
    [9] Done.
    sendMessage error: JMS exception while processing message
    java.lang.NullPointerException

    Hi Roger,
    I've been looking into your error message: JMS Exception while processing message.
    I was able to reproduce this error message. In my case I was trying to send a BESAdapter message without setting its mandatory properties. My code was:
    BESAdapterMessage a = (BESAdapterMessage)BESAdapterMessage.newViewObjectMessage(empvo);
    BESAdapterMessage[] messages = new BESAdapterMessage[] {a};
    try
    am.sendMessage(messages);
    There are two mandatory properies of the adapter that must be set that I forgot. I found the answer in the help. If you do a search for BESAdapterMessage you will find page Using the Adapter Message class for message payloads. Scroll down this page to the section: Using the BESAdapterMessage Subclass.
    Although you are using the adapter classes without the modeler you may find some of the other help topics in the UML Modeling Help useful. Look under Modeling Activities for e-business Integration -> Creating Messaging Adapters.
    I have raised a bug to put more validation in so that the error message will specify that properties have not been sent. Here is the abstract from help:
    The BESAdapterMessage class (oracle.bm.ebiadapters.BESAdapterMessage) is a subclass of AdapterMessage. It provides additional functionality which is needed by the e-business integration generators to achieve full integration. In addition to setting the payload, the BESAdapterMessage class allows you to set metadata properties which are mapped to JMS header fields. Some of these properties are mandatory and some are optional. For example, the setEventName(String eventName) and setEventKey(String eventKey) methods can be used to set the mandatory Event Name and Event Key properties. Once set, these properties are mapped to JMS header properties to allow the JMS messages to be correctly propagated between Oracle AQ queues.
    I've also raised a doc. bug to look again at the doc in this area.
    Thank you very much for taking the time to report on this problem. We are reliant on input from people like you to continue to improve our product.
    Rgds
    Susan

  • Sender JDBC adapter not picking up data

    Hi,
    I'm using an adpater to poll dta from two tables using the below query:
    SELECT TPartOrderMaster., (the editor convert the star to bold),   TPartOrderDetail.    FROM TPartOrderMaster INNER JOIN TPartOrderDetail ON TPartOrderMaster.OdrNo = TPartOrderDetail.OdrNo  WHERE (((TPartOrderMaster.DocStatusCode)='OA'))
    UPDATE TPartOrderMaster SET LastUpdatedDate= GETDATE(),  DocStatusCode='OP' WHERE DocStatusCode ='OA'
    However, the adapter doesn't pick any data and gives the below log continuously.
    11/13/09 5:35:50 PM  7c2bb696-0832-423d-2d59-8e955a3d6e6e  Processing finished successfully
      11/13/09 5:35:30 PM                                                                         Processing started
      11/13/09 5:33:50 PM 7c2bb696-0832-423d-2d59-8e955a3d6e6e   Polling interval started. Length: 120.0 seconds
    I have tried running th equery in the SQL server and it works properly.
    I even tried restarting the adapter, inactivating and activating it, restarted the adapter in Visual admin. There are no locks for the jdbc adapter in the Visual admin.
    Can anyone please suggest what other measures can I take to solve this issue.
    Thanks and Regards,
    Merrilly
    Edited by: Merrilly Don Thomas on Nov 13, 2009 5:50 PM

    SELECT TPartOrderMaster., (the editor convert the star to bold), TPartOrderDetail. FROM TPartOrderMaster INNER JOIN TPartOrderDetail ON TPartOrderMaster.OdrNo = TPartOrderDetail.OdrNo WHERE (((TPartOrderMaster.DocStatusCode)='OA'))
    I doubt whether this works with Jdbc adapter even though the query fetches data when executed on database. The query selects two tables (TPartOrderMaster and TPartOrderDetail) which could be problamatic. Instead can you list out the resultant table(after join) fields in Select query instead of table names?
    Refer this blog-
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3414800)ID0202753750DB11861200566708306426End?blog=/pub/wlg/1725

  • 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

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

  • How to get the sent date in Adapter Module

    Hi
    How to get Sent Date in Adapter Module. I have used message.getSentTime(). But i am getting in 1179051733406 format is there any way to change this format.
    Is there any other way to get the date when file sending.?
    Is it possible to get Soap Header data Run Time xml file elements (<SAP:Date>) in SXMB_MONI into my Adapter Module.
    Please Help Me
    Best Regards
    Ravi Shankar B

    Is it possible to get Soap Header data Run Time xml file elements (<SAP:Date>) in SXMB_MONI into my Adapter Module.?
    Hi ravi, if you enable Adapter specific Message Attributes in your Adapter CC,(Source File TimeStamp), you can access the same in your ADapter code as a dynamic configuration
    Regards
    krishna

  • Problem in getting the BASKET HEADER DATA in java class?

    Hi Gurus,
    In the order_change.jsp i have created a new custom input field and when i give some text in it, i should pass this as extension data. For this i have created a class to add this extension data:
    UserSessionData userSessionData = UserSessionData.getUserSessionData(request.getSession());
    BusinessObjectManager isaBOM = (BusinessObjectManager)userSessionData.
                                                          getBOM(BusinessObjectManager.ISACORE_BOM);
    ZCustomer mybom = (ZCustomer) userSessionData.getBOM(ZCustomer.ZCUSTOM_BOM);
    Basket basket = isaBOM.getBasket();
    HeaderData  headerData = isaBOM.getBasket().getHeaderData();
    String extBasketHeaderData = request.getParameter("test");     
    headerData.addExtensionData("ZTEST", extBasketHeaderData);
    But iam getting a null pointer execption when the following is executed in the above code
    HeaderData  headerData = isaBOM.getBasket().getHeaderData();
    Can you please help me why i am getting null pointer exception when i try to get the header data.
    I have tried interpreting my action class with the following classes
    1. ordersend.do
    2. maintainorder.do
    2.orderchangeconfirmed.do
    but not able to get the header data if include in any of the above the action class.
    Please help me out in this regard.
    Thanks a lot in Advance.
    Regards,
    Lakshman.

    Hi All,
    I have a similar kind of problem. I want to add extension data to a standard FM . But when I am creating a basket object
    Basket basket = isaBOM.getBasket();   I am getting an error saying
                                                    Type mismatch:Cannot convert from void to basket
    and also If I am trying to import
                                                    import com.sap.isa.businessobject.order.Basket;
    I am getting an error saying
                         This compilation unit indirectly references the missing type com.sap.isa.businessobject.BusinessObjectBase(typically some required class file is referencing a type outside the classpath)
    Kindly help me on this.
    Thanks
    Harshmeet Singh

  • How to get Header data in CS11 reg:-

    Hi all,
    How to get the Header data in the report after executing CS11 transaction.
    Thanks & Regards
    Piyush Sharma

    Hi,
    CS11 report itself the Header details like the Header material, plant and usage and the component details will be generated. This is the Standard SAP report available. If you need more details then you need to go for the development only.
    Regards,
    V. Suresh

  • Getting BEx query header data into Xcelsius for line chart Category Labels?

    Hello - Is it possible to get header data from BEx queries into Xcelsius so they can be used for Category Labels in a line chart?
    We have a BEx query that displays 16 weeks of shipment trends by column and text variables are used to display the respective date selection for each of the weeks in the query header but When connecting QaaWs to Xcelsius, the header row does not get displayed.
    When using LiveOffice, the header row seems to come thru with the correct dates for each of the weeks but if you are stacking more than one connection than you will get an extra header row for each connection.
    Are there any tricks to hide a header row in a LiveOffice document?
    Is there anyway to display the header row from QaaWs in Xcelsius?
    Any other work arounds?
    Thanks,
    Derek

    Derek,
    Below are my inputs...
    -->Using QAAWS you will not be able to get the header data, so you will have to maintain header data manually in Xcelsius (Spreadsheet).
    -->Using Live office you will be able to get the header data, and if you are using multiple live office connections, then you need to use cell reference formulas and format the spreadsheet (Xcelsius) as you require.
    -Anil

  • Mapping  problem due to FCC in sender file adapter

    Hi All
    I am doing File( Flat File ) to RFC Scenario.it is working fine..
    the problem comes in mapping with multiple records.
    FCC at sender file adapter is used
    my Data Type are :
    Source DT                      Target RFC import parameter(table).
    E2ED20*                            ITEM*
        KEY                                    VBELN
        VBELN                                 POSNR                                                
    E2E24*                                     CHARG
        KEY
        POSNR                             
        CHARG
    <b>*->>multiple occurence
    E2ED20  and E2E24 are 2 segment ,KEY is used in FCC to identify E2EDL20 & E2EDL24</b>
    My source text file is like this :
    E2EDL20                       0200
    E2EDL24                       xyz
    E2EDL20                       0201
    E2EDL24                       abc
    E2EDL24                       efg
    E2EDL24                       mln                      
    E2EDL20                       0202
    E2EDL24                       gty
    so the payload should be :
      0200   xyz
      0201   abc
      0201   efg     
      0201   mln
      0202   gty
    in <i>FCC ignoer record set= true</i>
    otherwise is not called...
    i try to use split by value & use oneasmany  , not helpfull.
    in message mapping when i checked th field VBELN -> display queue
    i am getting an array   0200
                                     0201
                                     0202  in white fields
    thanks & regards
    Ashutosh Rawat

    <b>Source payload</b>
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_MATNO_FILE xmlns:ns="urn:abc:xxx">
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
      <b><VBELN>0083662685</VBELN></b>
      </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900001</POSNR>
      <CHARG>1078629</CHARG>
      <LFIMG>3200</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900002</POSNR>
      <CHARG>1078630</CHARG>
      <LFIMG>1895</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900003</POSNR>
      <CHARG>1079145</CHARG>
      <LFIMG>1883</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900004</POSNR>
      <CHARG>1079146</CHARG>
      <LFIMG>3195</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
    <b> <VBELN>0083662648</VBELN></b>
      </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900011</POSNR>
      <CHARG>1001450</CHARG>
      <LFIMG>2946</LFIMG>
      <MEINS>8PC</MEINS>
      </E2E24>
    - <E2ED20>
      <KZ>E2EDL20</KZ>
      <FIELD1>020</FIELD1>
    <b> <VBELN>0083673936</VBELN></b>   </E2ED20>
    - <E2E24>
      <KZ>E2EDL24</KZ>
      <FIELD2>020</FIELD2>
      <POSNR>900012</POSNR>
      <CHARG>1073953</CHARG>
      <LFIMG>2458</LFIMG>
      <MEINS>PCE</MEINS>
      </E2E24>
      </ns:MT_MATNO_FILE>
    <b>at target what required is</b>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900001</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900002</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900003</POSNR>
    </item>
    <item>
    <b><VBELN>0083662685</VBELN></b>
    <POSNR>900004</POSNR>
    </item>
    <item>
    <b><VBELN>0083662648</VBELN></b>
    <POSNR>900011</POSNR>
    </item>
    <item>
    <b><VBELN>0083673936</VBELN></b>
    <POSNR>900012</POSNR>
    </item>
    in Sender FCC
    E2ED20.fieldFixedLengths               7,76
    E2ED20.fieldNames                            KZ,VBELN
    E2ED20.keyFieldValue              E1EDL20
    E2ED20.endSeparator              'nl'
    E2E24.fieldFixedLengths              7,24,13,7,3
    E2E24.keyFieldValue                              E1EDL24
    E2E24.fieldNames                               KZ,POSNR,CHARG,LFIMG,MEINS
    E2E24.endSeparator                              'nl'
    ignoreRecordsetName              true
    source file is already there...
    Message was edited by:
            ashutosh rawat

Maybe you are looking for

  • JTable not displaying column Heads

    The following JPanel was constructed using JBuilder 7 (a horrendous piece of software) and is in GridBagLayout. I'm attempting to display the contents of a table using JTable, and whilst it displays the rows it doesn't display the columnHeads! What a

  • Disk size requirement

    Hello, I'm planning the installation of an SDS. I don't find any reference to the disk size requirements in the documentation. Is the any recommendation ? We will be managing Solaris Sparc 8,9, 10 as well as Soalris X64 and Linux RHES 3 and 4. Around

  • Inverse function not working

    Hello all, <br><br> I have an xquery function which accepts an xs:string parameter that it uses as a criterium for filtering. <br><br> The filtervalue from the datasource is an xs:int datatype. Therefore I have created an inverse function to translat

  • Changing expired password with OCIPasswordChange

    I know that ODP.NET has a option to open a connection with a new password when the old one has expired. I'm using System.Data.OracleClient from .Net instead of ODP because I'm using the Instant Client, which does not seem to work with ODP. Can somebo

  • I can't open LR5 or Adobe reader please help!

    I just tried to open the two and they both won't work. Please help. I am running the newest versions of OS X and LR Thank you in advance.