Soap Message in webservice

Hello All,
I have a SOAP request as below shich is sent from a client proxy(consumer proxy) in SAP.
POST /blw/annehmen/2/0/ws/sendeWholesaleMeldung
HTTP/1.1..Content-Type: text/xml;
charset=utf-8..Content-Length:23711..accept-language: en..sap-language: E..soapaction: ""..accept: text/xml..
sap-srt_id: 20090804/162628/v1.00_final_6.40/4A71719D8F44393BE10000000AAF5D7F..
user-agent: SAP Web Application Server (1.0;700)..
host: 10.13.21.619:12000..accept-encoding: gzip....
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
  <soap-env:Header>
     <soap-env:Body>
          <n0:sendeWholesaleMeldungRequest xmlns:n0="http://wholesale.de/portal/blw/v2"
                        xmlns:prx="urn:sap.com:proxy:DWT::700:2008/01/11">
               <n0:Meldung>
                    <n0:Meldungsnummer>Str 313</n0:Meldungsnummer>
                    <n0:Geschaeftsfallart>string 314</n0:Geschaeftsfallart>
                    >
               </n0:Meldung>
          </n0:sendeWholesaleMeldungRequest>
     </soap-env:Body>
</soap-env:Envelope>
I want to send the type of the complex type Meldung like
<n0:Meldung xsi:type="swm:MeldungENTMType">
in the SOAP message that i sent.
Can anyone please let me know how this could be achieved.

No cross posting
Read the "Rules of Engagement"
Regards
Juan

Similar Messages

  • How to get full SOAP message in WebService

    hi,
    Is it possible to get SOAP message while Request operation during transaction in WebService.
    I tried with Handler, while retreiving message it is having a MessageContext. How to initilize that like example
    public boolean handleRequest(MessageContext mc) {
              SOAPMessageContext messageContext = (SOAPMessageContext) mc; 
              System.out.println("** Request: "+ messageContext.getMessage().toString());
              return true;
         }while i make a class called SoapHdlr i have implemented all methods including the above.
    In that from my class if i want to call the above method i need to pass MessageContext how to give that MessageContext or any other ways to get SOAPMessage fully.
    plz can any one guide me there
    ThanKQ

    I think, there are some concepts missunderstood. First if you use JAX-WS- Metro framework, this kind of handlers will work. Also you should identify your SOAPHandler for your web service. For ex: in Netbeans 6, you can right click on service and select configure handlers. Then you decide your handler.
    Then automatically, Metro framework directs SOAPMessages to your SOAPHandler to handle full SOAPs. HandleMessage() method will work.
    If you have problem again, just ask.

  • ApplicationResponseFault with namespace longer than 60 in sync soap message

    Hi,
    we are on pi 7.0 and our scenario is a async-sync bpm. In the sync soap message, the webservice raise an application error. In the response soap message we get the following detail tag:
    <detail><ApplicationResponseFault xmlns="http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10"><DocumentResponse xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"><Response><ResponseCode xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">BusinessReject</ResponseCode></Response></DocumentResponse></ApplicationResponseFault></detail>
    In sxi_monitor this application error isn't caught and a system error is generated.
    In the system error message we get:
    <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
      <SAP:P1>500</SAP:P1>
      <SAP:P2>Internal Server Error</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:393) at com.sap.aii.messaging.mo.MessageContext.setAttribute(MessageContext.java:140) at com.sap.aii.adapter.xi.ms.XIMessage.updateHeaders(XIMessage.java:4271) at com.sap.aii.adapter.xi.ms.XIMessage.getTransportHeaders(XIMessage.java:572) at com.sap.aii.af.ra.ms.impl.ServerConnectionImpl.request(ServerConnectionImpl.java:212) at
    In defaulttrace.trc we get ","<sap:ApplicationFaultMessageNamespace> is longer than 60 characters: http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10",":
    "09/04/2009","10:22:43:421","unable to generate the header map","Error","","com.sap.aii.adapter.xi.ms.XIMessage.getHeaderMap()","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2300000A6C000472BC344957CC","com.sap.aii.adapter.xi.ms.XIMessage","","","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","0","","","0","com.sap.aii.adapter.xi.ms.XIMessage","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
    "09/04/2009","10:22:43:421","<sap:ApplicationFaultMessageNamespace> is longer than 60 characters: http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10","Error","","com.sap.aii.messaging.mo.xmb.XMBErrorHeader.marshal(XMLWriter)","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2200000A6C000472BC34495771","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10,","http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10,","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","1","","","0","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
    "09/04/2009","10:22:43:421","Could not process message from 192.168.130.21 due to java.lang.NullPointerException.","Error","","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet.doPost(HttpServletRequest, HttpServletResponse)","sap.com/com.sap.aii.af.ms.app","SAPEngine_Application_Thread[impl:3]_55","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE0083000072F700000A6C000472BC344955F3","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet","192.168.130.21,java.lang.NullPointerException,","192.168.130.21,java.lang.NullPointerException,","SAPDES_TPI_34103150","1d72b100992c11dec67f001a64317eee","PIISUSER","0","0","","1","","","15337","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet","SAPEngine_Application_Thread[impl:3]_55","","PIISUSER",
    "09/04/2009","10:22:43:421","The SAP XI Adapter Framework Messaging Service caught an exception during rendering an XML Message. Details can be found in the trace file for Location com.sap.aii.messaging.mo.xmb. Action: Please contact SAP Support and provide the trace file.","Error","/Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK","com.sap.aii.messaging.mo.xmb.XMBErrorHeader.marshal(XMLWriter)","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2000000A6C000472BC3449559F","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","","","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","0","/Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK","","0","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
    So I think the problem is due to the namespace length. I'm right?
    We can't change the consumed webservice to reduce namespace length and our customer ask us to solve it in PI. Is there any way to change the namespace before to be treated and get a correct application error?
    Thanks in advance,
    Marc
    Edited by: Marc Mauri on Sep 5, 2009 12:06 PM

    Hi Neetesh,
    we developed our own adapter module. We use it in our receiver soap adapter, module tab, before and after the standard module sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean.
    In this audit log secuence you can see that the problem seems not to be solved, because the error is triggered when processing response message inside adapter module sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean, so our module is not called and the problem remains.
    2009-09-22 19:06:41 Success Message successfully received by messaging system. Profile: XI URL: http://sapdes:50300/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER
    2009-09-22 19:06:41 Success The message status set to DLNG.
    2009-09-22 19:06:41 Success Delivering to channel: CC_WS_DOS
    2009-09-22 19:06:41 Success MP: Entering module processor
    2009-09-22 19:06:41 Success MP: Processing local module *localejbs/AM_OWN_MODULE*
    2009-09-22 19:06:41 Success GetHostName: Module called
    2009-09-22 19:06:41 Warning Inside my own adapter Module <-- THIS IS A TRACE MESSAGE CODED INSIDE OUR MODULE
    2009-09-22 19:06:41 Success MP: Processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean 
    2009-09-22 19:06:41 Success SOAP: request message entering the adapter with user J2EE_GUEST
    2009-09-22 19:06:41 Success SOAP: Web Services Security processing...
    2009-09-22 19:06:41 Success SOAP: apply Web Services Security...
    2009-09-22 19:06:41 Success SOAP: Web Services Security applied.
    2009-09-22 19:06:42 Success SOAP: completed the processing
    2009-09-22 19:06:42 Success SOAP: continuing to response message 4d2c88e0-a79a-11de-9ffa-001a64317eee
    2009-09-22 19:06:42 Error SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault <----
    THIS ERROR IS DUE TO NAMESPACE LENGHT (WE CAN SEE THIS ERROR IN DEFAULT_TRACE.LOG)
    2009-09-22 19:06:42 Success MP: Processing local module localejbs/AM_OWN_MODULE
    2009-09-22 19:06:42 Success MP: Leaving module processor
    2009-09-22 19:06:43 Success The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System. 2009-09-22 19:06:43 Success The message status set to DLVD.
    Any suggestion?
    Thanks in advance,

  • Empty soap message

    I use abapProxy to invoke an external webservice via SOAP adapter but i get an error "invalid http response: null" in sxmb_moni  so i thought that there might be an mistake in request SOAP message and I installed TCPGateway to see logs about sending and coming message.
    When i invoke the proxy, sending part of TCPGateway is empty but as you guess , coming part of it shows an error "java.net.ConnectException: Connection timed out : connect"
    What maybe the reason for that SOAP adapter sends an empty SOAP message?
    Thanks

    Hi Abhishek;
    As i mentioned , i used TCPGateway program on XI server to see going message to external webservice..this gateway program takes request and forwards it but it still comes as empty  SOAP message from XI adapter to this TCPGateway program.
    as you guess, when you send empty soap message , external webservice doesnt respond to this request so it gets timeout error.
    ps: i tried to invoke this webservice via another third-party tool, it works properly.
    What would another reason except firewall settings for this issue ? because i do all of these control on XI server, namely before empty soap message goes.
    Thanks

  • Save soap message in database

    Hi, i'm new in webservice and xml. I want to save the returned SOAP Message by webservice in the database (xmltype).
    String inputLine;
    String xmlDoc = "";
    URL xml = new URL("http://sph001000-020:7777/i3sWebServices-FireWebService-context-root/FireWebService?invoke=lov_fritmtp");
    InputStream input = xml.openStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(input));
    int cnt = 1;
    while ((inputLine = in.readLine()) != null)
    if (cnt == 1){
    xmlDoc = xmlDoc + inputLine;
    cnt = 0;
    else cnt = 0;
    System.out.println("xml " + xmlDoc);
    in.close();
    here is where i got stuck, can anyone help me save the string xmlDoc in database(xmlType)?
    Thanks in advance!
    Regards,
    Hardy

    Hi,
    I had a similar need to save a SOAP message for later processing, using NetBeans. I used a routine saveSOAPMessage (shown below) to write the SOAP message to a file as XML, and then processed the saved XML file. You might be able to do something like this to save the message in your database.
    Good luck.
    gordonwj
    private boolean saveSOAPMessage(String path, SOAPMessage message)
    boolean isValid = true;
    try
    FileOutputStream foutStr = new FileOutputStream(path);
    message.writeTo(foutStr);
    foutStr.close();
    catch (Exception e)
    String s = e.getMessage();
    errorMessage = "Error writing SOAP message to file " + path;
    isValid = false;
    return(isValid);
    }

  • External WebService call from CAF Core returns Invalid soap message

    I am trying to perform the very simple action of calling a WebService from a CAF Core app service.
      1. I imported the WS (Axis Web service running on NW 2004s SP9 server) with WSDL (option 2 on import external service page).
      2. I then assembled the call in an app service method and invoke it.
      3. I made sure to configure the end point for the service and the method using the External Service configuration.
    When I execute the CAF core method using a simple Callable Object test client, I get the following error:
    com.sap.caf.mp.base.exception.EngineException: Invalid soap message received
         at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.processComplexTypeMode(SOAPToMessageValueConverter.java:290)
         at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.generateComplexTypeValue(SOAPToMessageValueConverter.java:179)
         at
    truncated.
    I have also captured the XML request/reponse trace using tcpmon :
    REQUEST:
    POST /NWTestExpressWAR/services/TestExpressService HTTP/1.1
    Host: 192.168.99.120:8078
    Content-Type: text/xml; charset=UTF-8
    Content-Length: 348
    SOAPAction: http://www.testsys.com/TestExpressService/getAvailableModels
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:GetAvailableModels xmlns:ns1="http://www.testsys.com/TestExpressService"/></SOAP-ENV:Body></SOAP-ENV:Envelope>
    RESPONSE:
    HTTP/1.1 200 OK
    Server: SAP J2EE Engine/7.00
    Set-Cookie: saplb_*=(J2EE11743000)11743050; Version=1; Path=/
    Content-Type: text/xml; charset=utf-8
    Date: Mon, 04 Dec 2006 02:19:39 GMT
    Transfer-Encoding: chunked
    Set-Cookie: JSESSIONID=(J2EE11743000)ID1261187150DB11296929644926762709End; Version=1; Domain=192.168.99.120; Path=/
    1f3
    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><GetAvailableModelsResponse xmlns="http://www.testsys.com/TestExpressService"><modelNames><name>Great Oak Manufacturing-January03 Test</name><name>PriceCheck-default</name></modelNames><errorMessagesReturn/></GetAvailableModelsResponse></soapenv:Body></soapenv:Envelope>
    0
    The only problem I can think off is that the transfer-encoding is marked as chunked which is causing the characters '1f3' and '0' to appear after and before the response and that this is causing the app to crash.
    192.168.99.120 is the server the hosts the WS. It is also a 2004s SP9 server. The client server that hosts the CAF core service is of the same configuration. 8078 is the port I redirect for tcpmon purposes.
    Could anyone shed some light on my problem?
    Thanks,
    Pratap.

    It looks like NW WS client cannot handle Transfer-encoding of chunked even though this is part of HTTP 1.1. What seems to be happening is that the NW WS client is creating a HTTP 1.1 request. The service (axis ws running on NW) seeing this is creating a HTTP 1.1 response w/ chunked encoding. However, the client cannot handle this encoding and barfs. The solution is to change the service to return a HTTP/1.0 response since NW cant handle HTTP 1.1.
    Pratap.

  • How To : Call External Webservice from BPEL and pass SOAP Message to the WS

    Hello All-
    Greetings to all BPEL gurus. I am currently facing difficulties in calling an External Webservice from my BPEL Process and passing SOAP Message to it. The details are below:
    <strong>1. The BPEL process, using database polling feature of DB Adapter, will get the records from the database.</strong>
    <strong>2. Transform the message</strong>
    <strong>3. Call the External Webservice and pass the transformed message as the input to it. However the Webservice expects the BPEL process to send SOAP headers in the input message.</strong>
    I am struggling on how to put the transformed message within a SOAP envelope in the BPEL process.
    If anyone had similar requirements and have successfully been able to send SOAP messages from BPEL process to an external webservice, kindly let me know.
    Also if there is some kind of documentation or any link in the forum that I can refer, please let me know that as well.
    I am new to Webservice integration using BPEL and would really appreciate your help.
    Thanks In Advance
    Regards,
    Dibya

    Hi Dharmendra,
    I am trying to send a SOAP message from my BPEL process to a web service. I have a complete SOAP message in a complex variable defined in the wsdl for the partnerlink (web service). My problem is that when I invoke the partnerlink it fails even though the content shown in the BPEL console looks valid.
    I have set up obtunnel to see what I am actually sending out from BPEL. You mention that BPEL creates the SOAP envelope automatically.
    I think that my problem is a result of this automatic SOAP envelope that BPEL is creating. Do you know if there is a way to turn it off?
    This is what I see in the TCP monitor, please note the double SOAP env:Body:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <RCMR_IN000002NR01 xmlns="urn:hl7-org:v3" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <env:Header>
    <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://testhost/CCS/Service_Endpoint</wsa:To>
    <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsa:Address>http://localhost/CCS/Service_Endpoint</wsa:Address>
    <wsa:Metadata>
    <device xmlns:hl7="urn:hl7-org:v3">
    </device>
    </wsa:Metadata>
    </env:Header>
    <env:Body>
    <RCMR_IN000002NR01>
    </RCMR_IN000002NR01>
    </env:Body>
    </RCMR_IN000002NR01>
    </env:Body>
    </env:Envelope>
    Any help is appreciated.
    Regards,
    Aagaard
    Edited by: Aagaard on Oct 30, 2008 8:59 PM
    Should have mentioned. I am using BPEL 10.1.3.4
    Edited by: Aagaard on Oct 31, 2008 8:43 AM
    I have opened a new thread for this question so as to not confuse the issue more than necessary.
    How many SOAP envelopes do you really need?

  • How to get SOAP Message while Request in WebService.. ?

    i am working on Web Logic WebService. I have created Web service and deployed into server.
    But now is there any ways to get the SOAP Message while request because i want to add some headers to the my SOAP Message before it sent to the backend.
    SOAPMessageContext smc=null;
    SOAPMessage soapMsg = smc.getMessage();
    System.out.println("SOAP MESSAGE :"+soapMsg);
    But I am getting NullPointerException.
    any Help ??...
    ThankQ.
    Ajay

    Hi
    In your code the NullPointerException is expected as the message context is null and not initialized before you call getMessage method on it.
    You can use soap handlers (client/server side handlers) to add the headers to the message before it is sent to the server.
    Soap handler has methods like below in which you can add the headers.
    * Handles incoming web service requests and outgoing callback requests
    public boolean handleRequest(MessageContext mc)
    System.out.println("Soap message is: \n " +
    ((SOAPMessageContext)mc).getMessage() + "\n");
    return true;
    More docs at http://e-docs.bea.com/wls/docs100/webserv_adv/handlers.html
    Vimala-

  • Xml (SOAP) message to inovke method in webService

    Hi all,
    i have a question for u...
    how can anyone help me to create a Soap message to invoke some method in webservice?
    or give me a link where it explain how can i do this...
    thanks a lot..
    cb4

    the link u give is about all client descrived in j2ee tutorial and they are create all with stub...
    my question is about a client that can invoke a method on the webservice created with jaxrpc via xml (soap)
    i think i can create this client with saaj....
    but i would know if it is true...
    or if exist another techonologies to create this type of client...
    thanks a lot
    cb4

  • Trying to parse a Soap Message

    I'm working on creating webservices that will be consumed by
    Director and working with the client programmer, we've come to
    recognize the problem, but we don't know how to resolve it.
    Problem: the XMLParser doesn't follow href parameters in tags
    that refer to subobjects, which result in a #getProp Ref error.
    I have a web service method that will return a list of names
    and it returns the following XML response:
    &lt;?xml version=&quot;1.0&quot;
    encoding=&quot;UTF-8&quot; ?&gt;
    &lt;soapenv:Envelope xmlns:soapenv=&quot;
    http://schemas.xmlsoap.org/soap/envelope/&quot;
    xmlns:xsd=&quot;
    http://www.w3.org/2001/XMLSchema&quot;
    xmlns:xsi=&quot;
    http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
    &lt;soapenv:Body&gt;
    &lt;getStudentsResponse soapenv:encodingStyle=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;&gt;
    &lt;getStudentsReturn href=&quot;#id0&quot;
    /&gt;
    &lt;/getStudentsResponse&gt;
    &lt;multiRef id=&quot;id0&quot;
    soapenc:root=&quot;0&quot; soapenv:encodingStyle=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;
    soapenc:arrayType=&quot;xsd:anyType[6]&quot;
    xsi:type=&quot;soapenc:Array&quot; xmlns:soapenc=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Bob B
    Bobbly&lt;/multiRef&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Andy A
    Anderson&lt;/multiRef&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Carl C
    Carlson&lt;/multiRef&gt;
    &lt;/multiRef&gt;
    &lt;/soapenv:Body&gt;
    &lt;/soapenv:Envelope&gt;
    When it hits the getStudentsReturn element and tries to refer
    to a child node, and obviously fails.
    The server is Tomcat 5.5, using Axis 1.4 for web services. I
    can post a wsdl if desired.
    The web service is configured for rpc/encoded style.
    What is the way to get out of this particular jam? Neither me
    nor the client programmer have extensive knowledge of how Director
    (or the relevant Xtra) handles SOAP messages or parse them. I've
    stepped through the code and seen the XML parser object render the
    response into an object tree, but it doesn't respect the href's.
    I can provide follow up to any questions or comments about
    this problem.
    Regards,
    Jeff Vandenberg

    Hi Jeff,
    While I don't have much experience with web services, I'm
    about to
    embark on something that involves extensive use of them, so
    your post
    caught my eye.
    If I understand correctly, the href attribute associated with
    the
    getStudentsReturn node is supposed to "automatically" link to
    the
    following multiRef array. Is that correct?
    Assuming it *did* link correctly, how would this manifest
    itself? Is it
    not a matter of you the parser watching for href tags and
    resolving them
    yourself? Why would you not simply provide the multiRef nodes
    as
    children of the getStudentsReturn node? Is there
    documentation somewhere
    for the href attribute and this form of linking?
    Have you tried using the Flash Asset xtra for parsing, and
    does it
    behave "correctly"?

  • How to Call web service operation by creating plain SOAP message in client?

    Hi
    Thank you for reading my post.
    I have some questions about using web methods of a web service which i would be very gratfull if you could answer.
    I should implement a web service that should receive a file with some other parameters from client and another web service which should receive some parameters and return a file.
    I used a mechanism like the following one to handle the condition and it just works. But I have a problem, I need to create dynamic invocation and I must create soap message and send it to webservice (no IDE generated code)
    What i need is one or two tips or a sample that shows how we can send and receive files by web services.
    I want to know how we can create the SOAP message ourself and then send it to the web service endpoint and it call the web method and ....
    Imagine the following web method, How i can invoke it by creating soap message myself and sending it to end point.
    @WebMethod
    public String saveFile(@WebParam(name = "fileName") String fileName, @WebParam(name = "fileContent") byte[] fileContent) {
    // TODO implement operation
    return "Something";
    Another question is :
    Does this mechanism that i used to transfer files is OK?
    Is it optimized or there are some other ways to do this job.
    I should say that i put one week on handlers to use soap attachments and i get no result.
    So, Please let me know if you know or have some sample that show me how to do the above job.
    Thanks.

    Hi
    From NW04s SP8 you can create webservice systems from within VC , and you will have the option of adding a user and password to authenticate. You can find it at Tools>>Define web service system. You will see a check box url requires user and password.
    If for some reason you can not do it in VC then you should create the system in the portal and fill out the usermapping screens.
    Jarrod Williams

  • Error while posting SOAP message

    I am trying to post a SOAP message but I keep getting this error. Can anybody help me on this. I tried using ALTOVA spy and SOAP Ui but the result is the same error.
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>Server Error</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context>XIAdapter</context>
                             <code>ADAPTER.JAVA_EXCEPTION</code>
                             <text><![CDATA[
    com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve binding for the given channelId: Binding:CID=null;
    *     at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getBindingByChannelId*(AbstractLookupManager.java:173)
         at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:431)
    Scenario is SOAP Sender and IDOC reciever.

    I tried reconfiguring also.
    When I test from Integration Engine in RWB using the test message it is sucsseful. Infact I can see the IDOC too.
    But when the basis guy tested with Adapter engine in RWB using the test tool, it gives the following error:
    Error While Sending Message: Additional error text from response: com.sap.engine.interfaces.messaging.api.exception.ConfigException: ConfigException in XI protocol handler. Failed to determine a receiver agreement for the given message. Root cause: com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=BusComp_Siebel1;TS=;AN=SI_Sales_Order_OB_Async;ANS=http://trm.com:o2b:SalesOrderCreate; in the current context [Unknown].
    Any idea where is the problem.
    When we tried the WSN step we are facing this error in the very first step.
    WSDL1.1, WSDL 2.0 definition element expected. Found [html: null] .
    Edited by: Chandra Gunapati on Oct 7, 2009 10:00 PM

  • Processing of soap message

    some help is required on the SOAP processing
    <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <getPricedAvailability xmlns="http://www.openuri.org/" xmlns:tget="http://www.ba.com/schema/tGetPricedAvailabilityV1">
    <tget:GetPricedAvailabilityRequest>
    <Name>ian</Name>
    ....i need to add a tag name[in between the two tags] <asl>US </asl>
    <age>1234</age>
    </tget:GetPricedAvailabilityRequest>
    </getPricedAvailability>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope
    Can any one suggest or send me the piece of code which does this..
    i tried to add the tag by using the below code but in vain it didn't happen ...it is not adding in between the 2 tags.
    it is adding after <age>.... Can any one help me in this...Is there is any other way of parsing the SOAP message is possible
    SOAPMessageContext smc = (SOAPMessageContext)mc;
    SOAPMessage sm = smc.getMessage();
    SOAPEnvelope env = sm.getSOAPPart().getEnvelope();
    SOAPBody body = env.getBody();
    javax.xml.soap.Name sName;
    System.out.println(" Entering callEndTag #########################################");
    System.out.println("body"+body +" "+"env"+env);
    if ( body != null ){
    java.util.Iterator childElems = body.getChildElements();
    SOAPElement child;
    int i=0;
    // iterate through child elements
    while (childElems.hasNext())
    System.out.println("childElems" +childElems);
    Object elem = childElems.next();
    System.out.println("elem" +elem);
    if(elem instanceof SOAPElement )
    // get child element and its name
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("getPricedAvailability"))
    childElems = child.getChildElements();
    while (childElems.hasNext())
    // get next child element
    elem = childElems.next();
    if(elem instanceof SOAPElement )
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("GetPricedAvailabilityRequest"))
    {childElems = child.getChildElements();
                                                   sName = child.getElementName();
                                                   System.out.println("SNAME inSIDE IF  LOOP" +sName);
                                                   System.out.println("If Elem is a) instance ====After");
                                                   if (childElems.hasNext())
                                                      // get next child element
                                                       elem = childElems.next();
                                                       System.out.println("If Elem is a) instance  == before");
                                                      if(elem instanceof SOAPElement )
                                                          System.out.println("If Elem is a) instance ====After");
                                                          System.out.println("before type cast" );  
                                                          child = (SOAPElement) elem;
                                                          sName = child.getElementName();
                                                          System.out.println("Start adding process added end date" +sName);
                                                          SOAPElement fResponse12 =  child.addChildElement(env.createName("EndDate-- ==child ")); 
                                                          fResponse12.addAttribute(env.createName("xmlns"),   
                                                          fResponse12.addTextNode(strEndDate );
    ((SOAPMessageContext)mc).setMessage(sm);

    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
    Juan

  • XI SOAP adapter vs webservice testing tools

    Actually I have creted simple xslt mapping and managed to come up with exactly in the format of endpoint request format of the webservice.
    here is the payload( I have created the SOAP Envelop, Header and body in the payload)
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
      <SOAP-ENV:Header>
        <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
          <eb:ConversationId>sucesss</eb:ConversationId>
          <eb:From>
            <eb:PartyId type="urn:x12.org:IO5:01">applevac.com</eb:PartyId>
          </eb:From>
          <eb:To>
            <eb:PartyId type="urn:x12.org:IO5:01">webservices.sabre.com</eb:PartyId>
          </eb:To>
          <eb:CPAId>P4XC</eb:CPAId>
          <eb:Service eb:type="sabreXML">session</eb:Service>
          <eb:Action>SessionCreateRQ</eb:Action>
          <eb:MessageData>
            <eb:MessageId>mid:[email protected]</eb:MessageId>
            <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp>
            <eb:TimeToLive>2001-02-15T11:15:12Z</eb:TimeToLive>
          </eb:MessageData>
        </eb:MessageHeader>
        <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
          <wsse:UsernameToken>
            <wsse:Username>5555</wsse:Username>
            <wsse:Password>password</wsse:Password>
            <Organization>L5x5</Organization>
            <Domain>DEFAULT</Domain>
          </wsse:UsernameToken>
        </wsse:Security>
      </SOAP-ENV:Header>
      <SOAP-ENV:Body>
        <eb:Manifest SOAP-ENV:mustUnderstand="1" eb:version="1.0">
          <SessionCreateRQ>
            <POS>
              <Source PseudoCityCode="P4XC"/>
            </POS>
          </SessionCreateRQ>
        </eb:Manifest>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I want XI to post just the payload and nothing else so....
    I selected Do not use envelope in the adapter configuration because we have every thing( SOAP envelop, header and body in the payload) but it is not working as i am still getting the same error message before implementing this xslt.
    Error Message:
    <StackTrace>com.sabre.universalservices.base.session.SessionException: errors.session.USG_CONVERSATION_ID_REQUIRED at com.sabre.universalservices.gateway.control.SecurityInterceptor.executeOnRequest(SecurityInterceptor.java:116) at com.sabre.universalservices.base.interceptor.Interceptor.execute(Interceptor.java:113) at com.sabre.universalservices.base.interceptor.InterceptorChain.applyInterceptors(InterceptorChain.java:32) at com.sabre.universalservices.base.interceptor.InterceptorManager.process(InterceptorManager.java:121) at com.sabre.universalservices.gateway.control.WSGateway.onMessage(WSGateway.java:415) at com.sabre.universalservices.gateway.control.WSGateway.handleRequest(WSGateway.java:313) at com.sabre.universalservices.gateway.control.WSGateway.doPost(WSGateway.java:247) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
    Do you have any idea like XI will add anything to this pay load when it sends out to the webservice?
    If i take the payload from the XI and try it in SOAPUI(tool to test webservice, you would know it already ) it works fine, I mean I was able to get the proper response but in XI it does not work.
    Any help in this regards is highly appreciated.
    we are using PI 7.0 and SP 9.
    Message was edited by:
            Venkat Marni
    Message was edited by:
            Venkat Marni

    Hi,
    Finally I could solve the problem.
    I was actually trying to post the information from the http client at the sender and receiver side I am getting the error.
    Later i have actually created the webservice for my sender interface in XI then post the info using the SOAPUI(3rd party tool) to post the info to XI and then Xi will communicate the webservice using SOAP adapter then I got the proper response from the webservice.
    In this whole episode I guess there is some thing wrong in using a htp client but technically we should be able to use http client as XI will take the payload and use xslt mapping to come up with target interface soap message( but i do not know why XI failed in that).
    thanks for all your help and hope this is clear.
    thanks,
    Venkat

  • Using PI 7.0 to handle moving a PDF document into a SOAP Message & sending

    Here is our situation.  We have the business writing all invoices for a day out of SAP to disk formatted as a PDF document; meaning, if the file is FTP'd from the disk of SAP to an NT server inside our firewall it is recognised as a PDF by Windows and Adobe.
    After we read the PDF, I need to add it as the payload to a SOAP message that will be sent to the web service of a partner out side our firewall.  They will extract the PDF from the SOAP Message and print the invoices... stuff the envelopes ... and post them. 
    I have been trying to use the file adapter to "pick up" the PDF and the SOAP adapter to send... Obviously, it is not working and I need some assistance.  I am new to XI, so any advice will be greatly appreciated.
    Thanks,
    Rich

    1.If the partner webservice supports SOAP attachments then you can send the required attachments from FileAdapter by selecting "Additional Files" check box in the File Sender channel.
    Check this link: [http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm|http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm]
    2.Else if this not the case i.e., you want to send PDF file stream as part of payload then you need to convert the PDF file stream to BASE64 format then map to one of the field of Webservice structure and then post using SOAP Adapter.
    Remember the webservice field length should be enough to carry the BASE64 string otherwise the target application will fail to process the data or it will process data by truncating. Also there should be extra funtionality in target webservice for converting BASE64 format to binary format(PDF file).
    But in general the webservices will support attachements. So you can go ahead with Case1.
    Thanks,
    - Gujjeti.

Maybe you are looking for

  • Tcode : LX16 and Tcode : LI11N

    Hi all, As a part of warehouse management , these transactions are used to carry on continuous inventory and inventory count. My first question is what are these things used for. I have an inbound interface where i am confirming the Transfer order an

  • Event structure to detect value change of a control within a cluster in an array

    I have 1D array that contains a cluster. The cluster contains a numeric and a boolean control. If the user starts to edit the numeric control value i would like to call one subVI, and if the boolean control value is changed, call a different subVI. T

  • Mandatory return parameter in Web Service

    Hello, Do you know how to set a return parameter mandatory in a Web Service using an Enterprise JavaBean (Netweaver 2004s)? The method has 2 return parameters in the WSDL: <xs:complexType name="SignResponse"> <xs:sequence>   <xs:element name="nfeid"

  • Use button to assign page items a value

    Hi All, I have a simple question (hopefully). I need to assign two page items some value when a button is pressed. I cannot see what I'm doing wrong ! I have created the button and set Button Request Source Type to PL/SQL Expression or Function. I ha

  • I can't install CS6 trial version

    Hi, I can't unstill CS6 .trial version, it keeps giving me an error message th.en it's st.art over