UCCX Soap request with wav attachment

I am trying to modify my working UCCX 9.0 soap request so that I can send a wav recording from the caller.  I understand that there are several ways that an attachment could be handled by a soap request, inline, mime or mtom.
Has anyone done an attachment like this?

I can appreciate your point about the load of encoding and decoding the wav file.  I can guess that to load the wav file into the repository would be similar to how a prompt recording application would load new prompts. However wouldn't the soap server have to log into the CRS administration site to download the wav file.  Also the wav files would left in the repository so I would have to come up with something clean up after the wav file was downloaded. The url method not sounding as simple as just encoding the wav file.

Similar Messages

  • Sending a SOAP request with binary attachment

    hi all,
    I am sending a SOAP request from a SOAP client SOAP UI  with a binary attachment ( image file as an attachment )  and creating a file on the receiver side with attachment.
    But how do i see this attachment in XI and do i have to specify some additional configuration in my receiver or sender adapter modules.
    Regards ,
    Loveena.

    creating a file on the receiver side with attachment.
    Is this working? Receiver file adapter does not support attachment.
    But how do i see this attachment in XI
    In the pipeline steps, under payload, you will find two entries, one for payload and other for attachment.
    Regards,
    Prateek

  • Soap request with attachment --problem in deploye to jboss useing Jdevelope

    using Jdeveloper and oc4j application server i made two application.
    In application one i exposed a web service method.In this application their is a handler class which able to handle soap request and response with attachment.
    In application two a client is sends a soap request with attachment.
    If i deploye it in oc4j it is working fine. But if i Deploye to JBoss server [i made a jboss application server connection] and then trying to send the soap request with attachment from the client application i gets the following errors--
    Exception in thread "main" javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:152)
         at etrans.TripBean.a.ClientGateWay.msgEnvelope(ClientGateWay.java:50)
         at etrans.TripBean.a.ClientGateWay.main(ClientGateWay.java:60)
    Caused by: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:148)
         ... 2 more
    Caused by: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:458)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(HttpSOAPConnection.java:865)
         ... 4 more
    Caused by: java.net.ConnectException: Connection refused
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:516)
         at java.net.Socket.connect(Socket.java:466)
         at java.net.Socket.<init>(Socket.java:366)
         at java.net.Socket.<init>(Socket.java:208)
         at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:202)
         at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3115)
         at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:3858)
         at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:2921)
         at HTTPClient.HttpOutputStream.close(HttpOutputStream.java:421)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.sendMessage(HttpSOAPConnection.java:724)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:373)
         ... 5 more
    Am i made any mistake to deploye to jboss or it is not possiable to access the web service in such way?
    please suggest me what is the procedure to recover from this.

    Hello,
    How do you package you WS client application to be deployed in JBoss?
    The JAX-RPC clients are not that portable you may need to recompile the client with JBoss WebService implementation/tools, and check that you do have the different deployment descriptors for the client too.
    Regards
    Tugdual Grall

  • SOAP Request with Web Service Security

    Hi masters of XI,
    the Oasis standard for web services security saids that exists three levels of security for web services, at higher level is Encryption, middle level is signature and at lower level is authentication with username and password inside the soap envelope.
    I need to do a SOAP Request signed with a X.509 certificate and username and password too in SAP PI 7.0 SP11. I can sign the request with X.509 certificate without problems but i can't authenticate the request with username and password in usernametoken element like saids the Oasis standard
    <wsse:Security>
    <wsse:UsernameToken>
    <wsse:Username>XXXX</wsse:Username>
    <wsse:Password>XXXXXXXXX</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    How can we send UserNameToken's elements inside SOAP web service envelope
    signing with X.509 certificate also? There are any way to do it in the
    receiver agreement or receiver SOAP adapter?
    thanks.

    Hi,
    thank you very much for your answers.
    I have solved the SSL comunication and i can sign with X.509 certificates. My problem is that in the SOAP envelope of resquest signed only travels the X.509 certificate and I need to send the username security token (wsse:UsernameToken) also.
    <wsse:Security>
    <wsse:UsernameToken>
    <wsse:Username>XXXX</wsse:Username>
    <wsse:Password>XXXXXXXXX</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    I can't find the solution to do it. The Netweaver documentation says that Netweaver is able to sign SOAP request with X.509 certificates and is able too for using UsernameToken as part of Oasis standard for web service security. In abap stack of NW you can assign a security profile to a web service call for signing the message or authenticate it with username/password inside SOAP envelope, but in java stack of XI i think that there is no way to do it.
    This is my Request:
    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
          <wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-71968700">MIIHdTCCBl2gAwIBAgIQOq4nmg5zi4NGsIGjPUZVuTANBgkqhkiG9w0BAQUFADCCAT4xCzAJBgNVBAYTAkVTMTswOQYDVQQKEzJBZ...8d4pAJYk=</wsse:BinarySecurityToken>
          <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-104376803">
            <ds:SignedInfo>
              <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
              <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
              <ds:Reference URI="#id-104309952">
                <ds:Transforms>
                  <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>R6WE9gs+l496jHCgslgALWswEnE=</ds:DigestValue>
              </ds:Reference>
              <ds:Reference URI="#Timestamp-104310599">
                <ds:Transforms>
                  <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>aiCTZ0WwiZQEv8zVmmf8GLu/bYA=</ds:DigestValue>
              </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>YR9Q5oUA6kFFmPYOIOQPTOgTgapMbkmgdlDM/TZJ2CS8ENAntfsnmpEbpUgOPUVMkgaECog0OKvlADHP0HvJtPdm2NJljZNCCgrk3hlmmtkXkRauVuH5KRiHE5NeWT4+Uspp3ashebu0IuOO66zt4Q=</ds:SignatureValue>
            <ds:KeyInfo Id="KeyId-104377209">
              <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-104377346">
                <wsse:Reference URI="#CertId-71968700" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
              </wsse:SecurityTokenReference>
            </ds:KeyInfo>
          </ds:Signature>     
          <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-104310599">
            <wsu:Created>2008-01-16T21:28:44.081Z</wsu:Created>
            <wsu:Expires>2008-01-16T21:33:44.081Z</wsu:Expires>
          </wsu:Timestamp>
        </wsse:Security>
      </soapenv:Header>
    And this is the request I need:
    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
          <wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-71968700">MIIHdTCCBl2gAwIBAgIQOq4nmg5zi4NGsIGjPUZVuTANBgkqhkiG9w0BAQUFADCCAT4xCzAJBgNVBAYTAkVTMTswOQYDVQQKEzJBZ...8d4pAJYk=</wsse:BinarySecurityToken>
          <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-104376803">
            <ds:SignedInfo>
              <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
              <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
              <ds:Reference URI="#id-104309952">
                <ds:Transforms>
                  <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>R6WE9gs+l496jHCgslgALWswEnE=</ds:DigestValue>
              </ds:Reference>
              <ds:Reference URI="#Timestamp-104310599">
                <ds:Transforms>
                  <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>aiCTZ0WwiZQEv8zVmmf8GLu/bYA=</ds:DigestValue>
              </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>YR9Q5oUA6kFFmPYOIOQPTOgTgapMbkmgdlDM/TZJ2CS8ENAntfsnmpEbpUgOPUVMkgaECog0OKvlADHP0HvJtPdm2NJljZNCCgrk3hlmmtkXkRauVuH5KRiHE5NeWT4+Uspp3ashebu0IuOO66zt4Q=</ds:SignatureValue>
            <ds:KeyInfo Id="KeyId-104377209">
              <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-104377346">
                <wsse:Reference URI="#CertId-71968700" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
              </wsse:SecurityTokenReference>
            </ds:KeyInfo>
          </ds:Signature>
    <!-- THIS IS THE PART I NEED -->
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-104312926">
            <wsse:Username>xxxxxxx</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/>
          </wsse:UsernameToken>
    <!--  -->
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-104310599">
            <wsu:Created>2008-01-16T21:28:44.081Z</wsu:Created>
            <wsu:Expires>2008-01-16T21:33:44.081Z</wsu:Expires>
          </wsu:Timestamp>
        </wsse:Security>
      </soapenv:Header>

  • Create soap request with class "csoapdocument"

    Hi,
    i want to create a soap request with class "csoapdocument".
    The request looks like:
         <SOAP-ENV:Body>
            <m:SearchRequest xmlns:m="https://abcdefg">          
              <Root>
                     <MetaData>
                   <SourceID>ID1</SourceID>
                   <FName>sitris_request</FName>
                   <DataType>text/xml</DataType>
                     </MetaData>
                    <Data>
                   <DATA1>
                        <Req Id="1234">                                   <NUMBER>12345678</NUMBER>
                   </DATA1>
                    </Data>
                            </Root>                    
              </m:SearchRequest>
         </SOAP-ENV:Body>
    Is it possible to create this request with method add_parameter of class csoapdocument?
    Thanks

    Solved myself.
    The above soap reqeust can be created with set_body_from_fragment.

  • SOAP Request for uploading attachment through Web Services

    Hi,
    Can someone help me in understanding how to form a SOAP request (Web Service) for uploading an attachment into OD?
    The Web service PDF mentions about the getting attachment from OD (SOAP) but not uploading.
    Please suggest.
    Regards,
    Sumeet K.

    The return message being in HTML escaped form is expected, however the truncated response is not.
    Please contact support via support.oracle.com, and they will be able to advise appropriately.

  • SOAP to SOAP Scenario with an Attachment

    Hi,
    We are using this scenario for transfering file from one location to another location with an attachment.  From Web service client we are succefully sending an attachment to XI system.  During mapping, we are facing problem while sending an attachment from inbound schema to outbound schema.  Being XI is using XML for mapping and important thing is here that whether XML can handle attachments or not?  If yes, then whats the way to handle attachment issue in XI 3.0? 
    Thanks and Regards,
    Rohit Goyal

    Hi Holger,
    Thanks for your reply but wanted some more inputs on this.  We have define two parameter as inbound and outbound schema as FileName and Filecontent. FileName contains the name of file and FileContent containes href link which points to an attachment.  FileContent is of type base64Binary.  Similarly FileName and FileContent are defined in outbound schema as well.  href linf should pass from filecontent Inbound schema to Outbound schema. But that is not passing.  In receiver side, we have web service running which takes these two inputs (FileName, and fileContent).
    But as you r saying we don't require mapping?  Can you let me know, then how we can pass input varaibles to the webservice.
    Pls elaborate more on this.
    With Regards,
    rohit

  • Associating SOAP Request with Response in Handlers

    Hi,
    In the handler framework, there are handleRequest(MessageContext) and handleResponse(MessageContext) methods, which allow processing of the SOAP Request and Response envelopes, respectively.
    Is there a way to know which request belongs to which response?
    I would like to log these request and response envelopes together.
    Thanks,
    Puny Sen

    Hi,
    I guess you could create a property in the MessageContext while processing the request to keep a message id, and then access the same property in the response.
    Best regards,
    Miguel Pardal

  • UCCX Soap Request

    Hi,
    I am trying to get UCCX to contact a SOAP web service so that I can make routing decisions based on the SOAP response.  But as I have virtually no experience with SOAP/XML I am struggling a bit.
    below is the SOAP command that I am trying to send to the web service to query if an ANI has called recently
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
      <soap12:Body>
        <FindInteraction xmlns="http://www.something.com/v4">
          <data>
            <Tenant>Test</Tenant>
            <Options>
              <Contact>000000000</Contact>
              <DataValues />
            </Options>
          </data>
        </FindInteraction>
      </soap12:Body>
    </soap12:Envelope>
    the response should be something like the below, the "Code" value is what I will base my routing on.
    <Response>
      <Header>
        <ClientID></ClientID>
        <Id>038793f2-5b11-4ead-a05b-aa77ff76430f</Id>
        <Status>
          <Code>109021</Code>
          <Description>The contact that you submitted does not exist.</Description>
          <ErrorMessage></ErrorMessage>
          <Result>ContactNotFound</Result>
        </Status>
      </Header>
      <Data>
      </Data>
    </Response>
    I have had a look at  https://supportforums.cisco.com/docs/DOC-23899 but I am still struggling to understand SOAP.
    is the above simple to do, or do I need to find a "programming friend"
    any help appreciated.
    Darren

    Hi,
    I have written and tested a code fragment.
    Let's do this with the "template" way.
    First, we create a simple XML template:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plat="http://www.virtualhold.com/Toolkit/Platform-v4">
       <soapenv:Header/>
       <soapenv:Body>
          <plat:FindInteraction>
             <plat:data>
                <plat:Tenant>__TENANT__</plat:Tenant>            
                <plat:Options>
                   <plat:Contact>__CONTACT__</plat:Contact>
                   <plat:DataValues />
                </plat:Options>
             </plat:data>
          </plat:FindInteraction>
       </soapenv:Body>
    </soapenv:Envelope>
    Notice the __TENANT__ and __CODE__ strings. We will replace them with something useful within the script.
    Save this as vht_request.xml and upload it to the Document Management page to your UCCX.
    Next, add the following five new variables to your script:
    code - type String, initial value: "" - this variable will hold the "Code" sent by our SOAP server;
    doc - type Document, initial value: DOC[] - this is just a utility variable, reused many times as we will see;
    soapResponseString - type String, initial value: "" - another utility variable, for storing the response sent by the SOAP server;
    soapServerURL - type String, initial value: well, this is the endpoint URL of your SOAP server. The WSDL file you sent me the other day already contains a reference to it, "http://172.16.202.59/VHTPlatformWS-v4/VHTPlatformWS.asmx" but you might want to double check with the person administering this SOAP server. My mock SOAP server was available at "http://10.232.128.68:8090/mockIVHTPlatformWS", I am using it in my script;
    xpathResultSelectCode - type String, initial value: this is the XPath expression to filter out the value of the Code XML element encapsulated within other elements. You probably want to use this: "//*[local-name()='FindInteractionResult']/*[local-name()='Header']/*[local-name()='Status']/*[local-name()='Code']"
    Next, we are going to use the following steps:
    1. doc = Keyword Transform Document.
    The Keyword Template: DOC[vht_request.xml] - this essentially tells UCCX to take the XML file we uploaded previously, convert it to a Document type variable.
    Keywords: this is where the magic happens. I mapped "__TENANT__" to "Test" and "__CONTACT__" to "5556363". You will probably want to map these to something legal, like the ANI of the caller.
    Document: doc. This just assigns the document we transformed at this step to this variable.
    2. Create XML Document. Source Document: doc. Document: doc. Do not write anything into the Source ID box. This step tells UCCX to look at the transformed document as an XML document.
    3. Set. The Variable would be soapResponseString, and the Value - well, this code block:
    java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
    String content = doc;
    int readTimeout = 5000;
    try {
         java.net.URL url = new java.net.URL(soapServerURL);
         java.net.HttpURLConnection urlCon = (java.net.HttpURLConnection) url.openConnection();
         urlCon.setFixedLengthStreamingMode(content.length());
         urlCon.setReadTimeout(readTimeout);
         urlCon.setDoInput (true);
         urlCon.setDoOutput (true);
         urlCon.setUseCaches (false);
         urlCon.setRequestMethod("POST");
         urlCon.setRequestProperty("Content-Type","text/xml;charset=UTF-8");
         java.io.DataOutputStream output = new java.io.DataOutputStream(urlCon.getOutputStream());
         output.writeBytes(content);
         output.flush();
         output.close();
         java.io.DataInputStream input = new java.io.DataInputStream(urlCon.getInputStream());
         int bufSize = 4096; // buffer size, bytes
         byte[] bytesRead = new byte[bufSize];
         int bytesReadLength = 0;
         while(( bytesReadLength = input.read( bytesRead )) > 0 ) {
             baos.write(bytesRead,0,bytesReadLength);
         input.close();
         baos.close();
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    return baos.toString();
    I took this from my other document, https://supportforums.cisco.com/document/97736/uccx-8x-really-simple-soap-client-no-custom-jar
    Again, if anything bad happens, this code block would return null. Nothing. Nada. Nil. Semmit. If everything goes fine, this code block issues a SOAP HTTP request and the response would appear as a String as the value of the soapResponseString variable.
    4. doc = Create XML Document. Source Document: (Document) soapResponseString. Document: doc. This tells UCCX to cast the value of the soapResponseString into a Document type variable, and, create an XML document out of it.
    5. code = Get XML Document Data. Document: doc. XML path: xpathResultSelectCode. Result Data: code. This is where the other magic happens, the system would filter out the value of the Code element and assign this value to the code variable.
    I will try and upload screenshots after I posted this.
    G.

  • How to submit a conurrent request with MLS attached from PL/SQL?

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

  • Error while trying to send soap request with Altova

    Hello,
    I m getting this error, can anyone help me please?
    ERROR org.apache.axis2.transport.http.AxisServlet - java.lang.NullPointerException

    With so little information, I doubt anyone will be able to help you out. Altova forums could be better place to lookout for the solution.

  • How to send SOAP message with attachment?

    Hi Experts,
    How do I simulate to send a SOAP message with an attachment? Can I use XMLSpy?
    Please help.
    Thanks,
    Shobhit

    Ravi,
    With the generic SOAP client, it asks for the http based wsdl file location. But my wsdl has been generated by XI and I have the file stored on my desktop.
    Something to do with the path http://zpidd01:8030/XISOAPAdapter/MessageServlet?channel=NetworkPartners:NP_Order_BS:NP_SOAP_Sender_CC ??
    Stefan,
    my scenario is to send a SOAP request with attachment and post the attachment in ECC through the ABAP server proxy.
    WebService Client -
    SOAP----> XI -
    ABAP PROXY CALL ---> ECC
    Need further assistance from both of you how to achieve this scenario.
    Thanks,
    Shobhit
    Edited by: Shobhit Swarup Mathur on Jul 24, 2008 4:34 AM

  • Proxy to SOAP with an attachment

    Hi all,
    we have a scenario proxy to soap,and the volume of data sending from proxy to soap is more than 20 mb.
    as the third party system can't receive 20MB of data in one single soap message and we can't split this message as the whole data is related one WorkOrder. we thought of sending the SOAP message with an attachment.could any one guide me how can i attach the payload data to soap as an attachment and send.
    thank you.

    Hi,
    It's pretty easy - just have a look at my article:
    The specified item was not found.
    and let me know if this works out for you
    Regards,
    Michal Krawczyk

  • SOAP- XI- RFC , while posting soap request thru SPY , getting exception,

    Hello friends,
    I am trying <b>SOAP->XI->RFC</b> scenario. would like to explain in brief about requirement then <b>let me know if this is correct approach</b>
    <i>Our client wants a pull approach from R/3 , for example lets say he wants to get Material Master data from R/3.
    So he will send a SOAP request with the material number and r/3 should return back the details.</i>
    <b>So we have decided to go with SOAP->XI->RFC approach
    That means a sender SOAP Adapter and a receiver RFC adapter,</b>
    I have done all the designing, like creating my own DataType,MessagType all interfaces etc.
    then i created a Bussiness system of type third party with host name as XI host name to use for sender, and a business system of type Web As ABAP and used one of the R/3 as receiver system.
    Doubts: Once i created Soap channel in my sender businees system(where Interface name i gave my Message Interface name and its Namespace), and the receiver channel in my another bussiness system, i created the entire scenario using Configuration Wizard.
    NOW THE PROBLEM STARTS.
    After clicking Define Web Service , it asks for URL
    i gave following url
    http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=TPBS_Rohit:soapChannel
    TPBS_Rohit is my Sender (third party bussiness system name), and soapChannel is the channel under it.
    <b>tell me if this is right</b>
    Then in the Message Interface i selected my Message Interface name that i had created in Design for publishing.
    <u><b>MAJOR DOUBT</b></u>
    <b>It Asks for
    Service :
    Interface Name :
    Interface NameSpace :
    what do i give here.</b>
    this is what i have given
    Service : TPBS_Rohit, Sender (third party bussiness system name)
    Interface Name : MI_SOAP <again the same message interface name that i have published earlier>
    Interface NameSpace : same namespace.
    AM i right ???
    I am sure somthing is wrong since when i tried sending a SOAP request using XML SPY , this is what i get.
    [code]<?xml version="1.0"?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <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>Exception</code>
                             <text><![CDATA[
    java.lang.Exception: invalid channel (party:service:channel) = TPBS_Rohit:soapChannel
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:498)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
              ]]></text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>[/code]
    Please Let me know where have i gone wrong ?

    hi manikandan,friends
    i changed the url to http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=:TPBS_Rohit:soapChannel
    colon included.
    but now i get the following error trace in SPY ..
    [code]<?xml version="1.0"?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>failed to call the adapter engine</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context>XIAdapter</context>
                             <code>DeliveryException</code>
                             <text><![CDATA[
    com.sap.aii.af.mp.module.ModuleException
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:697)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:221)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:543)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
    Caused by: com.sap.aii.messaging.srt.BubbleException: failed to call the adapter engine [null "null"]; nested exception caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
         at com.sap.aii.af.mp.soap.ejb.AFCallerApplication.perform(AFCallerApplication.java:122)
         at com.sap.aii.messaging.srt.ApplicationBubble.onMessage(ApplicationBubble.java:29)
         at com.sap.aii.messaging.srt.ExtensionBubble.onMessage(ExtensionBubble.java:56)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:576)
         ... 20 more
    Caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:366)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:123)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:419)
         at com.sap.engine.frame.core.thread.Task.run(Task.java:60)
         at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:73)
         at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:145)
              ]]></text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>[/code]

  • Web Service operation not in SOAP request

    Hi There,
    I have a problem with the SOAP receiver adapter.
    I have created an external definition and uploaded a wsdl file. Several messages have been created out of the file.
    In my mapping I fill the message structure from the wsdl file. When I send the message to the Web Service I get an error back.
    The reason for this error seam to be a missing tag under the SOAP:Body element. Because when I create a SOAP request with the XMLSPY, it looks like this:
    <SOAP:Body>
      <m:setVendor xmlns:m="http://..." ...>
        <ns8:v xmlns:ns8="http://...">
    But in the message from the XI adapter the <m:setVendor..> tag is missing:
    <SOAP:Body>
      <ns8:v xmlns:ns8="http://...">
    This m: tag seems to be the operation of the web service.
    Has anybody an Idea how to solve this?
    Is the error in the SOAP adapter or in the message definition?
    By the way, can I display the complete SOAP message that has been sent out from the adapter with any XI tool (including SOAP header)?
    BR,
    Jürgen

    Jurgen
    I have exactly the same problem in a RFC -> RFC Adapter -> XI -> SOAP Adapter -> Web Service scenario.
    What we see is that the external vendor wants the SOAP to be in "documet-literal wrapped" whereas XI is returning is as "document literal".
    **I don't want to change the original wsdl file because it was provided by our business partner and a modification could cause problems when release update.
    But I have build a workaround with an XSL stylesheet as a second mapping step in my Interface Mapping. The stylesheet adds the missing operation tag into the XML message.**
    Even in our case we dont want to change wsdl, the operation & soap body are going as two parts we want the soap body in operation,i think  this can be achieved by xsl stylesheet,Can u please brief us about xsl stylesheet as a second mapping step in interface maping.I dint work on xsl before......
    Advance thanx for ur help
    Sriram

Maybe you are looking for