SOAP BODY data to be Put into SOAP Header

Hi All,
Could you kindly help me out in this issue?
Basically our Requirement is to send the UserID and Password stored in
the R/3 system to the 3rd Party Server as a part of the SOAP Header .
Presently I am using a Message Interface which takes the parameters
UserID and Password and hence its placing them in the SOAP BODY which in
turn in resulting in Rejection of the data sent being us. So I guess we
have to do some take out these parameters from Message Interface and
try out something else.
So Could you help us out in this issue since we are stuck  and hence not
able to proceed any further.
Here are some Details :
Here is the extract from the XML File:
A) Format in XI
  <?xml version="1.0" encoding="UTF-8" ?>
- <ns1:DPSrequestToken xmlns:ns1="http://tempuri.org/message/">
- <Username>
  <Username>ANYAGENT</Username>
  <Password>p2ssword</Password>
  </Username>
- <DPSrequestToken>
  <version>1</version>
  <vendorID>0142</vendorID>
  </DPSrequestToken>
  </ns1:DPSrequestToken>
B) The way the file needs to be sent to the 3rd party server
<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">
     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>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
                <wsse:Username>ANYAGENT</wsse:Username>
                <wsse:Password>p2ssword</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
</SOAP-ENV:Header>
     <SOAP-ENV:Body>
          <m:DPSrequestToken xmlns:m="https://tpvs.hmrc.gov.uk/dpsauthentication">
               <m:version>1</m:version>
               <m:vendorID>your 4 digit vendorID</m:vendorID>
          </m:DPSrequestToken>
     </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Basically as mentioned above
  <Username>ANYAGENT</Username>
  <Password>p2ssword</Password> ,Tokens should be sent in the SOAP
Header which is now being sent in the Body and hence causing problems.
Do get back to me in case you need any clarifications on this issue.
Best Regards,
Chandan
Message was edited by: Chandan A C

see this --> page 2
HTTP Adapter error.
Rgds

Similar Messages

  • Convert SOAP Attachment into SOAP Body

    Hi,
    I am getting the response from external system through SOAP attachment, how to convert it into soap body.
    Is there any other alternative apart from PayloadSwapBean, if not, let me know the steps of the same.
    Regards,
    B.Anandh

    Hi Krish,
    It is not possible to use adapter module (Custom or standard) in SOAP sender adapter and this thing is clearly mentioned in Help.sap.
    But you can use axis adapter to use module (Axis adapter is extention to soap adapter). It provides modules which are flexible enough to fulfil your requirment.
    If you are using Receiver SOAP adapter then youn can either have PayloadSwipeBean or your own adapter module. And it is possible to convert the attachment to the payload using custom module.(I have Done this)
    There is method available getAttachment() of type. Just Check API.
    Thanks
    Sunil Singh

  • Missing namespace prefix in the soap body

    Hello
    The soap body that is produced along with soap header for my webservice. I
    am the client talking to a server. The first piece in RED color is what
    weblogic generates to send to the client but does NOT work. The one below
    though works fine which is what I manipulated by hand to send to the
    server. I have no idea why weblogic drops the namespace prefix in the
    BODY.
    -Narahari
    The message is as shown below
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </Fulfill>
    </env:Body>
    </env:Envelope>
    When you see the data carefully, the env:Body has the Fulfill element. But
    it does have a namespace prefix on it. This causes the call to fail. If I
    change the above segment manally to look like
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <n2:Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </n2:Fulfill>
    </env:Body>
    </env:Envelope>

    Hi All,
    we are also facing the same issue, Please provide the solution if anyone knows. We are also using the SOA Suite 11g Version.

  • Error converting DOM nodes into SOAP nodes

    Hi,
    i am doing an http call using http binding activity in oracle soa suite 11g.The http call requires some header information.When I pass the header information through headers in invoke activity and invoke the http call,I get an error " Error converting DOM nodes into SOAP nodes".What might be the reason and how to solve it.
    Naresh

    Hello,
    It appears your code is trying to repeat messagePart itself. Split Joins strictly adheres to a WSDL definition for incoming and outgoing messages.
    Instead of repeating <RootElement> which is defined as single occurance in your message definition within WSDL, you should find a way to tweak the WSDL to have "repetitive node which will become single message after split" within 1 Root element.
    This will call for having need of implementing transformation within split join based on need of target input message. Below is the example:
    WSDL contains:
    <wsdl:message name="inputMessageName">
         <wsdl:part name="partInput" element="rootElement"/>
    </wsdl:message>
    What your current xml structure is(please note how message itself is repeating below while it has been defined as single in wsdl, unfortunately there is nothing maxOccurs for message in WSDL definition , although you can define multiple parts but that is not case here):
    <soap:Body>
    <rootElement>
    </rootElement>
    <rootElement>
    </rootElement>
    <rootElement>
    </rootElement>
    </soap:Body>
    What Split-Join expects(If you have existing wsdl then you need to tweak it to conform to below kind of structure then use transformation within split join to convert it into correct xml structure for outgoing):
    <soap:Body>
    <rootElement>
         <repetitiveElementSpecificToIndividualSplitRequest/>
         <repetitiveElementSpecificToIndividualSplitRequest/>
         <repetitiveElementSpecificToIndividualSplitRequest/>
    </rootElement>
    </soap:Body>
    I hope this helps.
    Regards,
    Ankit

  • Critical Issue:-- Convert SOAP Attachment into SOAP Body

    hi,
       My requirment is
    FTP----> SOAP synchronous.
    In this one  at SOAP receiver side SOAP request is an attachment file and response also I m getting as an attachment.
    My problem is that I need to convert this SOAP response (attachment)  in SOAP body so that I can map it with FTP datatype.
    I used PayLoadSwapBean module but i m unable to convert this attachment into SOAP Body.
    I just followed this blog 
    The specified item was not found.
    May be i m not using this module in a proper mannner.
    Can anybody explan it step by step.
    Is there anyother solution for my problem..
    <It is against the rules of Engagement to post a question with the catch of awarding points. Please refrain from the same.>
    Thanks
    Jaideep Jain
    Edited by: Bhavesh Kantilal on Dec 3, 2008 10:26 AM

    hi stefan,
      I m getting this error after using PayloadSwapBean.
    com.sap.aii.af.ra.ms.api.DeliveryException: Object not found in lookup of payloadSwapBean
    I m mentioning here the value of parameter name and value for this module:--
    parameter name                                    parameter value
    swap.keyName                                        payload-name
    swap.keyValue                                        MainAttachment
    Can u suggest where i went wrong.....
    Thanks
    Jaideep
    Edited by: Jaideep Baid on Dec 5, 2008 9:27 AM

  • How to retreive soap xml data from clob column in a table

    Hi,
    I am trying to retrieve the XML tag value from clob column.
    Table name = xyz and column= abc (clob datatype)
    data stored in abc column is as below
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:head="http://www.abc.com/gcgi/shared/system/header" xmlns:v6="http://www.abc.com/gcgi/services/v6_0_0_0" xmlns:sys="http://www.abc.com/gcgi/shared/system/systemtypes">
    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <RqHeader soapenv:mustUnderstand="0" xmlns="http://www.abc.com/gcgi/shared/system/header">
    <DateAndTimeStamp>2011-12-20T16:02:36.677+08:00</DateAndTimeStamp>
    <UUID>1000002932</UUID>
    <Version>6_0_0_0</Version>
    <ClientDetails>
    <Org>ABC</Org>
    <OrgUnit>ABC</OrgUnit>
    <ChannelID>HBK</ChannelID>
    <TerminalID>0000</TerminalID>
    <SrcCountryCode>SG</SrcCountryCode>
    <DestCountryCode>SG</DestCountryCode>
    <UserGroup>HBK</UserGroup>
    </ClientDetails>
    </RqHeader>
    <wsa:Action>/SvcImpl/bank/
    SOAPEndpoint/AlertsService.serviceagent/OpEndpointHTTP/AlertDeleteInq</wsa:Action></soapenv:Header>
    <soapenv:Body>
    <v6:AlertDeleteInqRq>
    <v6:Base>
    <v6:VID>20071209013112</v6:VID>
    <!--Optional:-->
    <v6:Ref>CTAA00000002644</v6:Ref>
    </v6:Base>
    </v6:AlertDeleteInqRq>
    </soapenv:Body>
    </soapenv:Envelope>
    And i want to retrieve the values of tag
    <ChannelID> and <v6:VID>
    can somebody help, i have tried with extractvalue but not able to get the values

    I have used the below two queries but not able to get the expected results. Both queries result into no values.
    select xmltype(MED_REQ_PAYLOAD).extract('//ClientDetails/Org','xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" || xmlns="http://www.abc.com/gcgi/shared/system/header"').getStringValue() from ESB_OUTPUT_TEMP where SOAPACTION = '/SvcImpl/bank/alerts/v6_0_0_0/SOAPEndpoint/AlertsService.serviceagent/OpEndpointHTTP/AlertDeleteInq'
    select EXTRACTVALUE(xmltype(MED_REQ_PAYLOAD),'/RqHeader/) from ESB_OUTPUT_TEMP where SOAPACTION = '/SvcImpl/bank/SOAPEndpoint/AlertsService.serviceagent/OpEndpointHTTP/AlertDeleteInq'
    Well, for starters, both queries are syntactically wrong :
    - non terminated string
    - incorrect namespace mapping declaration
    - unknown XMLType method "getStringValue()"
    Secondly, all those functions are deprecated now.
    Here's an up-to-date example using XMLTable. It will retrieve the two tag values you mentioned :
    SQL> select x.*
      2  from esb_output_temp t
      3     , xmltable(
      4         xmlnamespaces(
      5           'http://schemas.xmlsoap.org/soap/envelope/' as "soap"
      6         , 'http://www.abc.com/gcgi/shared/system/header' as "head"
      7         , 'http://www.abc.com/gcgi/services/v6_0_0_0' as "v6"
      8         )
      9       , '/soap:Envelope'
    10         passing xmlparse(document t.med_req_payload)
    11         columns ChannelID  varchar2(10) path 'soap:Header/head:RqHeader/head:ClientDetails/head:ChannelID'
    12               , VID        varchar2(30) path 'soap:Body/v6:AlertDeleteInqRq/v6:Base/v6:VID'
    13       ) x
    14  ;
    CHANNELID  VID
    HBK        20071209013112
    You may also want to store XML in XMLType columns for both performance and storage optimizations.

  • Extract fields from the SOAP body during mapping

    Hi all,
    I have an Abap Proxy to SOAP scenario with a main payload and an attachment. During mapping I need the reference of the attachment to store the reference in the main payload. I don't need the attachment itself.
    SOAP-Body:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Eingangs-Message
      -->
    - <SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7">
    - <SAP:Payload xlink:href="cid:payload-E742FF47D930DE5CE1000000C107826A @sap.com">
      <SAP:Name>MainDocument</SAP:Name>
      <SAP:Description />
      <SAP:Type>Application</SAP:Type>
      </SAP:Payload>
    - <SAP:Payload xlink:href="cid:payload-EE42FF47D930DE5CE1000000C107826A @sap.com">
      <SAP:Name>hugo.txt</SAP:Name>
      <SAP:Description />
      <SAP:Type>ApplicationAttachment</SAP:Type>
      </SAP:Payload>
      </SAP:Manifest>
    I need the attachment reference as string inside my main payload: cid:payload-EE42FF47D930DE5CE1000000C107826A @sap.com
    I wrote an user defined function to select the MessageId, but the MessageId is only part of the reference to the main payload.
    String constant;
    java.util.Map map;
    map = container.getTransformationParameters();
    constant = (String) map.get(StreamTransformationConstants.MESSAGE_ID);
    return constant;
    Has anybody an idea to get the reference of the attachment from the SOAP body with an user defined function or an adapter module?
    Thanks and kind regards
    Frank

    Hello,
    thank you all for the information. I found a solution for my problem on the sender side. I wrote an own helper class with  the method create_attach_from_txt_withref. This method  build an attachment with an own reference and write the reference back to the payload.
    This reference will not be changed within the execute_asynchronous method of the proxy.
    Method parameters:
    P_DATA        Importing   Type     STRING
    P_TYPE        Importing   Type     STRING
    P_NAME        Importing   Type     STRING
    P_ATTACHMENT  Exporting   Type Ref IF_AI_ATTACHMENT
    P_AREF        Exporting   Type     STRING
    Method coding:
    METHOD create_attach_from_txt_withref.
      DATA: lo_attachment TYPE REF TO cl_ai_attachment,
            l_payload     TYPE REF TO if_xms_payload,
            l_pref        TYPE        sxms_mf_s,
            l_guid        TYPE        guid_32,
            l_aref        TYPE        string.
      CLASS cl_ai_factory DEFINITION LOAD.
    " create the attachment
      p_attachment = cl_ai_factory=>create_attachment_from_text(
                    p_data = p_data             " attachment data
                    p_type = p_type             " attachment type
                    p_name = p_name ).          " attachment name
    " we need an implementing class of the interface if_ai_attachment
      lo_attachment ?= p_attachment.
    " get the new payload
      l_payload = lo_attachment->get_payload( ).
    " get the reference of the payload
      l_pref = l_payload->getreference( ).
    " build an own reference
      CALL FUNCTION 'GUID_CREATE'
        IMPORTING
          ev_guid_32 = l_guid.
      CONCATENATE 'payload-' l_guid '@sap.com' INTO l_aref.
      CONCATENATE 'cid:'     l_aref            INTO l_pref-href.
    " set our own reference
      l_payload->setreference( reference = l_pref ).
    " write back the modified payload
      lo_attachment->set_payload( p_payload = l_payload ).
    " return of the reference
      p_aref = l_aref.
    ENDMETHOD.
    If anybody has an idea how to read the soap body within an adapter module please let me know.
    Regards
    Frank

  • How to create a SOAP body based on a Serializable Object?

    Hello,
    I have a serializable object such as this one
            HeaderSection header = new HeaderSection();
            RequestName requestName = new RequestName();
            requestName.setActivityName("this is an activity");
            NNSVMessage nnsvMessage = new NNSVMessage();
            nnsvMessage.setHeaderSection(header);
            nnsvMessage.setRequestSection(request);
            nnsvMessage.setResponseSection(response);I create a SOAP message using SAAJ API
            SOAPMessage message = messageFactory.createMessage();
            SOAPPart soapPart = message.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
    ...How can I stuff this object into the SOAP body?
    Thanks,
    Mustafa

    Hi Saleem,
    Herewith an example:
            Dim oDoc As SAPbobsCOM.Documents
            oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
            oDoc.CardCode = "530010"
            oDoc.DocDate = Date.Now
            oDoc.DocDueDate = Date.Now
            oDoc.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service
            oDoc.Lines.ItemDescription = "Line 1"
            oDoc.Lines.Price = 100
            oDoc.Lines.VatGroup = "O1"
            oDoc.Lines.AccountCode = "0000090000"
            oDoc.Lines.Add()
            oDoc.Lines.ItemDescription = "Line 2"
            oDoc.Lines.Price = 200
            oDoc.Lines.VatGroup = "O1"
            oDoc.Lines.AccountCode = "0000090201"
            If oDoc.Add <> 0 Then
                MessageBox.Show(oCompany.GetLastErrorDescription)
            Else
                MessageBox.Show("Added")
            End If
    Hope it helps,
    Adele

  • Soap body xml different on server

    Hello,
    I am trying to verify a soap body string using a signature in the soap header. But am getting a slightly modified version of the soap message on the server side handler.
    Here is how my client side handler soap body looks:
    <n1:xyz xmlns:n1="http://localhost/edm/DocMgmtParametersRetriever">
    </n1:xyz>
    On the server side,
    <n1:xyz xmlns:n1="http://localhost/edm/DocMgmtParametersRetriever"></n1:xyz>
    The differences are:
    1.There is an extra space between n1:xyz and xmlns on the client side.
    2.There is a line break before </n1:xyz> on the client side which is not present on the server side.
    When I add following lines of code on client side, the soap body looks the same and server is able to verify the signature.
    soapBody = soapBody.replaceAll(" xmlns:"," xmlns:");
    soapBody = soapBody.replaceAll("\n","");
    soapBody = soapBody.replaceAll("\r\n","");
    soapBody = soapBody.replaceAll("\r","");
    The server is on weblogic 8.1 sp3. The webservice java client is using saaj-api.jar
    Any clue as to why there is a difference?
    Thank you

    Welcome to the forums.
    As a tip for future posts [url https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360002]2. How do I ask a question on the forums?
    That said, a basic example that pulls the contents of the body out is
    declare
      l_ws_rsp    XMLTYPE;
      l_body_rsp  XMLTYPE;
    begin
      -- Retrieving the SOAP message
      l_ws_rsp := DHL_SOAP_RESPONSE_XMLTYPE;
      -- Extracting out the body
      SELECT xt.body_xml
        INTO l_body_rsp
        FROM XMLTable(XMLNamespaces('http://schemas.xmlsoap.org/soap/envelope/' AS "SOAP-ENV"),
                      '/SOAP-ENV:Envelope/SOAP-ENV:Body/*'
                      PASSING l_ws_rsp
                      COLUMNS
                      body_xml   XMLTYPE PATH '.') xt;
       dbms_output.put_line(l_body_rsp.getClobVal());
    end;If you Google
    XMLTable soap site:forums.oracle.com
    you can find plenty of examples on these forums regarding how to parse a web service response.
    The bigger question is, what are you going to do with the data in the response. As the example above alludes too, you can actually parse the entire WS response with one SQL statement and return the results as one or more rows. Will you be performing PL/SQL logic on the returned results or will you simply be INSERTing them into the database for something else to use?

  • GWWS_CAT:1022: SOAP Error: Invalid SOAP Body While processing Valid Soap Request

    Hi,
    I Following tuxedo version on AIX 6.1 Power 7 64 bit.
    INFO: Oracle Tuxedo, Version 10.3.0.0, 64-bit, Patch Level 095
    Service Meta Information is :
    service=StockQuote
    export=y
    servicetype=service
    tuxservice=STOCKQUOTE
    svcdescription=This service is used to demo security and xml buffer interop.
    inbuf=XML
    outbuf=XML
    param=XMLBuffer
    type=xml
    access=inout
    size=1000
    this is actually picked from salt sample packaged with version 10.3.
    Request Message:
    <?xml version="1.0" encoding="UTF-8"?>
    <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"
    xmlns:ns1="urn:salt.samples.wsdl"
    xmlns:ns2="urn:pack.samples_typedef.salt11">
    <SOAP-ENV:Body>
    <ns2:StockQuote>
    <ns2:inbuf>
    </ns2:inbuf>
    </ns2:StockQuote>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I put GWWS under tracing and found following.
    Response Messag:
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --WAKEUP-->Created
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Inbound-->Receive
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Found-->ParseHTTP
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:HTTP Parsing: Buffer length 1140 -- POST /secsapp HTTP/1.1^M
    Host: uaix4070.unix.rabobank.nl:8070^M
    User-Agent: gSOAP/2.7^M
    Content-Type: text/xml; charset=utf-8^M
    Content-Length: 437^M
    Connection: close^M
    SOAPAction: "StockQuote"^M
    ^M
    <?xml version="1.0" encoding="UTF-8"?>
    <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/XMLS
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:chema"
    xmlns:ns1="urn:salt.samples.wsdl"
    xmlns:ns2="urn:pack.samples_typedef.salt11">
    <SOAP-ENV:Body>
    <ns2:StockQuote>
    <ns2:inbuf>
    </ns2:inbuf>
    </ns2:StockQuote>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:parse_header_field() return 6
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --OK-->HTTPDispatch
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:A HTTP message is received, SCO index=4095
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:Finding endpoint, soap->path is /secsapp, request_uri is /secsapp
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Post-->ParseSOAPHeader
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Default-->ParseHeaderRoot
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:A SOAP message is received, SCO index=4095
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --None-->ParseSOAPBody
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Default-->ParseBodyRoot
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --OK-->ParseBodyElement
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:Begin data transformation of request message, buffer type = XML, SCO index=4095
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Fail-->SOAPFault
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --OK-->PackSOAPBody
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --OK-->PackSOAPHeader
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Default-->WSRMHandle3
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --OK-->PackHTTP
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:SCO[4095] FSM State Transition: --Default-->Send
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:Sending HTTP Header: HTTP/1.1 500 Internal Server Error^M
    Server: gSOAP/2.7^M
    Content-Type: text/xml; charset=utf-8^M
    Content-Length: 311^M
    Connection: close^M
    ^M
    150237.uaix4070!GWWS.5767178.1046.0: TRACE:ms:Sending SOAP Message: <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>GWWS_CAT:1022: SOAP Error: Invalid SOAP Body.</faultstring></SOAP-ENV:Fault><
    /SOAP-ENV:Body></SOAP-ENV:Envelope>
    Is there something wrong with the request ? Are there known bugs with handling of Soap request in this version ?
    Thanks & Regards,
    Ajeet Tewari

    Ajeet,
    I believe that may be caused by the fact that the payload is empty (<inbuf></inbuf>). The gateway is very strict on that...
    Regards,
    Maurice

  • OSB 11g - Authentication - Username and password in SOAP body

    Hi,
    I have a PS based on the WSDL provided by the client. According to the WSDL the client will send the username and password (to be used for authentication) in SOAP Body. I have extract the username and password from the body and authenticate it and then only process the data.
    The approach I am thinking of is to create two PS. The first PS will be called by client to send the data. There will be no authentication required for this PS. Once this PS (PS-1) receives the message it will extract the username, password and data from the SOAP body. It will then set the username and password in the HTTP header of the second PS (PS-2) and the data in the SOAP body of PS-2.
    PS-2 will be under basic authentication. PS-2 will accept the data as the only payload. Upon receiving the data it will do the normal processing.
    But I do not see any way to set the HTTP header (Authorization) for the second PS. Is my approach correct? Is there another/better approach?
    I went through this link [http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/model.html] and found that we may have to configure another Authentication provider. How to do that?
    Thanks,
    Sanjay

    Hi Sanjay,
    Your approach seems correct to me (using two proxies) but instead of setting the username and password in HTTP header, you may set it as SOAP header and use Custom Authentication method in OSB. To know more about it, please refer -
    http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15866/message_level_cust_auth.htm#i1069719
    Regards,
    Anuj

  • RFC sender and SOAP receiver data is not posting

    Dear Experts,
    we creating one scenario
    R3-PI-Third party(WSDL).so we are creating  RFC as Sender and SOAP as Receiver.in SXMB_MONI no error.Message monitoring also showing delivered and both payloads also showing.but in thirdparty system data is not posting.third party system is handling messages, but not showing any error also.we call the WSDL using WSNAVIGATOR to post data working fine.
    Thnaks,
    ajai

    Dear Stefan,
    we are getting below message in TCP Gateway.
    POST /AdvancedMeteringInfrastructure-UtilitiesDeviceERPSmartMeterBulkCreateRequest-context-root/UtilitiesDeviceERPSmartMeterBulkCreateRequest_OutPort?wsdl HTTP/1.0Accept: /Host: gts-poc1:50081User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505content-id: <soap-00237D5E14C01DEF9BC72C1A7C0FFCA3(at)sap.com>Content-Type: text/xml; charset=utf-8Content-Length: 1746SOAPACTION: "http://sap.com/xi/IS-U/Global2/UtilitiesDeviceERPSmartMeterBulkCreateRequest_Out"<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><ns1:UtilitiesDeviceERPSmartMeterBulkCreateRequest xmlns:ns1='http://sap.com/xi/SAPGlobal20/Global'><MessageHeader><ID schemeID='Device' schemeAgencyID='www.infotech.com'>4446364533373842</ID><UUID schemeID='Device' schemeAgencyID='www.infotech.com'>DF6E378B-D76E-DDF1-B9A3-0013725B3FAB</UUID><CreationDateTime>2010/06/02 T16:54:17</CreationDateTime><TestDataIndicator>true</TestDataIndicator><ReconciliationIndicator>true</ReconciliationIndicator><SenderBusinessSystemID>SLD_B001</SenderBusinessSystemID><RecipientBusinessSystemID>SLD_B002</RecipientBusinessSystemID></MessageHeader><UtilitiesDeviceERPSmartMeterCreateRequestMessage><MessageHeader><ID schemeID='Device' schemeAgencyID='www.infotech.com' schemeAgencySchemeAgencyID='001'>4446364533373842</ID><UUID schemeID='Device' schemeAgencyID='www.infotech.com'>DF6E378B-D76E-DEF1-B9A3-0013725B3FAB</UUID><CreationDateTime>2010/06/02 T16:54:17</CreationDateTime><TestDataIndicator>true</TestDataIndicator><ReconciliationIndicator>true</ReconciliationIndicator><SenderBusinessSystemID>SLD_B001</SenderBusinessSystemID><RecipientBusinessSystemID>SLD_B001</RecipientBusinessSystemID></MessageHeader><UtilitiesDevice><ID schemeID='DEID' schemeAgencyID='115'>1200000120001556</ID><StartDate>2010.06.02</StartDate><EndDate>9999.12.31</EndDate><SerialID>1200000120001556</SerialID><MaterialID schemeID='MaterialID' schemeAgencyID='MPL_002'>85</MaterialID><ProductUniqueItemID schemeID='Smart Meter' schemeAgencyID='MPL_002'>SM1165HS</ProductUniqueItemID></UtilitiesDevice></UtilitiesDeviceERPSmartMeterCreateRequestMessage></ns1:UtilitiesDeviceERPSmartMeterBulkCreateRequest></SOAP:Body></SOAP:Envelope>
    HTTP/1.1 404 Not Foundconnection: closepragma: no-cachecache-control: no-cacheexpires: 0sap-isc-etag: J2EE//content-type: text/htmlcontent-length: 1571server: SAP NetWeaver Application Server 7.10 / AS Java 7.10date: Wed, 02 Jun 2010 11:24:17 GMT<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>     <title>Error Report</title><style>td {font-family : Arial, Tahoma, Helvetica, sans-serif; font-size : 14px;}A:link A:visited A:active </style></head><body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0"><table width="100%" cellspacing="0" cellpadding="0" border="0" align="left" height="75"><tr bgcolor="#FFFFFF">    <td align="left" colspan="2" height="48"><font face="Arial, Verdana, Helvetica" size="4" color="#666666"><b>  404 &nbsp Not Found</b></font></td></tr><tr bgcolor="#3F73A3">    <td height="23" width="84"><img width=1 height=1 border=0 alt=""></td>    <td height="23"><img width=1 height=1 border=0 alt=""></td>    <td align="right" height="23"><font face="Arial, Verdana, Helvetica" size="2" color="#FFFFFF"><b>SAP NetWeaver Application Server 7.10 / AS Java 7.10 </b></font></td></tr><tr bgcolor="#9DCDFD">    <td height="4" colspan="3"><img width=1 height=1 border=0 alt=""></td></tr></table><br><br><br><br><br><br><p><font face="Arial, Verdana, Helvetica" size="3" color="#000000"><b>  The requested resource does not exist.</b></font></p><p><font face="Arial, Verdana, Helvetica" size="2" color="#000000"><table><tr><td valign="top"><b> Details:</b></td><td valign="top"><PRE>Go to <A HREF="/" target="_parent">main page</A> of this application!</PRE></font></td></tr></table></font></p></body></html>
    Thaks,
    Ajai

  • Mapping Design  - SOAP body content needs to be different between test and production

    Hello,
    We are integrating with a 3rd party SOAP receiver who uses the same web service URLS for test and production.
    So to differentiate they exposed 2 web services which do the same thing but have different root and payload node names...along with account details.
    For example, for production our SOAP XML must follow pattern like:
    <Envelope>
    <Body>
    <appRequest>
    <userID>produser</userID><password>prodpwd</password>
    <appPayload>
    <?xml>
    blah blah this XML is the same between test and production
    </xml>
    </appPayload>
    etc
    But for their testing we must use:
    <Envelope>
    <Body>
    <appRequestTest>
    <userID>testuser</userID><password>testpwd</password>
    <appPayloadTest>
    <?xml>
    blah blah this XML is the same between test and production
    </xml>
    </appPayload>
    etc
    So I'm trying to think of a good way to handle this difference in one set of mappings that we can use in our 3 PI platforms Dev / Test / Prod
    Since these differences are in the SOAP Body does it need handled in mapping or is there a way to handle it in the Adapter Config which is naturally different between our environments (mapping we like to keep the same).
    What is a smart way to handle this scenario?
    Many thanks,
    Aaron

    I second Artem when he states that this is a bad design decission from the caller's side.
    However this is not gonna help you in the current situation, right?
    The problem you are facing is that by poor design the message does not have a root node which you may use to handle occurences. Let me explain further
    You would be good if prod message looked like so
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body>
      <appData>
       <appRequest>
       </appRequest>
      </appData>
    </soapenv:Body>
    </soapenv:Envelope>
    and test message looked like so
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body>
      <appData>
       <appRequestTest>
       </appRequestTest>
      </appData>
    </soapenv:Body>
    </soapenv:Envelope>
    --> Then you would have been able to specify occurence of <appRequest> and <appRequestTest> as 0..1
    So I think you have (besides what Artem already pointed out) 2 other options:
    1. activate "do not use SOAP envelope" on sender SOAP channel and then designing the data types like above
    2. Use HTTP instead of SOAP adapter and designing data types like above
    Hope I didn't miss something crucial :-)
    Cheers
    Jens

  • Adding CDATA into SOAP Message

    I am a student in Hollland en need some help.
    I want te add CDATA into a SOAP Message whit JAVA.
    Like:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP-ENV:Body>
              <m:getPremieInfo xmlns:m="http://tempuri.org/message/">
                   <docIn><![CDATA[<?xml version="1.0"?>
    <MIC_CONTRACT><MIC_VIEW><![CDATA[&lt;?xml version="1.0"?&gt;
    &lt;Contractdocument&gt;&lt;UN&gt;&lt;UN_ZENDER&gt;I094329000012258&lt;/UN_ZENDER&gt;&lt;UN_ONTVAN&gt;I094330000070695&lt;/UN_ONTVAN&gt;&lt;UN_DATPRE&gt;020314&lt;/UN_DATPRE&gt;&lt;UN_TIMPRE&gt;0917&lt;/UN_TIMPRE&gt;&lt;UN_INTREF/&gt;&lt;UN_MSGREF&gt;03140917094680&lt;/UN_MSGREF&gt;&lt;UN_LOGNAM&gt;INSLBW001000IN&lt;/UN_LOGNAM&gt;&lt;/UN&gt;&lt;AL&gt;&lt;AL_VRWRKCD&gt;0&lt;/AL_VRWRKCD&gt;&lt;AL_VIEWCOD&gt;04027&lt;/AL_VIEWCOD&gt;&lt;AL_VERSIEV&gt;007&lt;/AL_VERSIEV&gt;&lt;AL_FUNCTIE&gt;08&lt;/AL_FUNCTIE&gt;&lt;RI_RIJVAAR&gt;N&lt;/RI_RIJVAAR&gt;&lt;RI_BMVERKL&gt;A&lt;/RI_BMVERKL&gt;&lt;RI_SCHDVRY&gt;30&lt;/RI_SCHDVRY&gt;&lt;/RI&gt;&lt;/PP&gt;&lt;/Contractdocument&gt;
    ]]></MIC_VIEW></MIC_CONTRACT>
    ]]></docIn>          
              </m:getPremieInfo>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Can anyone tell me how to do that in JAVA ? Please help me !
    Birol
    [email protected]

    I found this Sample from the Axis's sample ---axis\samples\message.
    package samples.message;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.message.SOAPBodyElement;
    import org.apache.axis.utils.Options;
    import org.apache.axis.utils.XMLUtils;
    import org.w3c.dom.CDATASection;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import java.net.URL;
    import java.util.Vector;
    * Simple test driver for our message service.
    public class TestMsg {
    public String doit(String[] args) throws Exception {
    Options opts = new Options(args);
    opts.setDefaultURL("http://localhost:8080/axis/services/MessageService");
    Service service = new Service();
    Call call = (Call) service.createCall();
    call.setTargetEndpointAddress( new URL(opts.getURL()) );
    SOAPBodyElement[] input = new SOAPBodyElement[3];
    input[0] = new SOAPBodyElement(XMLUtils.StringToElement("urn:foo",
    "e1", "Hello"));
    input[1] = new SOAPBodyElement(XMLUtils.StringToElement("urn:foo",
    "e1", "World"));
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document doc = builder.newDocument();
    Element cdataElem = doc.createElementNS("urn:foo", "e3");
    CDATASection cdata = doc.createCDATASection("Text with\n\tImportant <b> whitespace </b> and tags! ");
    cdataElem.appendChild(cdata);
    input[2] = new SOAPBodyElement(cdataElem);
    Vector elems = (Vector) call.invoke( input );
    SOAPBodyElement elem = null ;
    Element e = null ;
    elem = (SOAPBodyElement) elems.get(0);
    e = elem.getAsDOM();
    String str = "Res elem[0]=" + XMLUtils.ElementToString(e);
    elem = (SOAPBodyElement) elems.get(1);
    e = elem.getAsDOM();
    str = str + "Res elem[1]=" + XMLUtils.ElementToString(e);
    elem = (SOAPBodyElement) elems.get(2);
    e = elem.getAsDOM();
    str = str + "Res elem[2]=" + XMLUtils.ElementToString(e);
    return( str );
    public static void main(String[] args) throws Exception {
    String res = (new TestMsg()).doit(args);
    System.out.println(res);

  • Can SOAP body have multiple immediate children without splitting the msg

    We have a vendor we need to send a SOAP message to, but they require the SOAP body have two different immediate children.  In graphical mapping this doesn't seem to be possible. 
    If we create separate external definitions for each, then they would become separate target messages once added to a message mapping.  If we try to combine the XSDs into one, import it as an external definition, and add it to the mapping, It prompts us to choose one of the elements of the external def from the top level.  The only way to choose a second is to add another, which again results it two separate target messages.
    Is our vendor's request compliant with W3C standards?  If so, is this just a limitation of graphical mapping and what are the most common workarounds in PI?

    >>If we create the SOAP envelope with our mapping, then does that affect the ability to use the SOAP adapter to provide a digital signature?
    This is what I would do. Consider synchronous scenario. If you sign the message digitally and send it to system A (say outbound)  and you need to have the same soap message structure (inbound)  during signature verification. Otherwise signature verification process will fail.
    Do as follow
    Outbound
    A) First mapping: Adding soap envelope  using (XSLT mapping) or java mapping or any way
    B) Second mapping: Signing the message using digital signature via java mapping
    Inbound
    First mapping should be digital signature verify using java mapping
    if the requirement to remove/modify saop envelope on the inbound side or any changes in structure only after the signature verification

Maybe you are looking for

  • SqlPlus 8.0/host string

    Hi, I've download 8i lite, I'm a new user of oracle & I can't open sqlplus 8.0. a window ask me user and pass, I give "scott" and "tiger" but an host string is asked and I don't know the answer, I don't find it through the pdf file or through this fo

  • My iTunes is only showing music in the cloud.

    This just started happening last night. All of a sudden, all of my playlists are gone and iTunes is only showing music from the cloud. All of my music is on my local computer but it doesn't appear in iTunes. I've turned off the cloud functionality an

  • Failed to install SUN cluster 3.1 8/05 on solaris 10(x64)

    I install the cluster 3.1 u4 on two nodes(node1 and node2) by using "scinstall".( The two nodes have the same system) After cluster installed, i reboot node2 . Before rebooting, I have done the following operation. # echo "etc/cluster/nodeid" >> /boo

  • SAP - Sybase Integration

    I am begining into explore this technology. I believe Sybase accesses the RFCs in SAP using the standard connectors in Sybase. Can anyone confirm if there is any tool on the Sybase platform to monitor the transmissions between the platforms or will o

  • IPad + iOS 6 + WiFi

    Hi, I'm having problems with my new iPad (3). I've upgraded to iOS6 and I can't connect to Appstore, iTunes, Facebook, but it happens just in some places, in others, it works well. Why it's does happens? I've tried changing system date and time, swit