ABAP SOAP Client with MTOM

Hi experts,
I need to create a SOAP client in ABAP for a web service that uses MTOM (xop:include) to transfer binary files.
I know how to create a client proxy in SE80 from WSDL, but I.have no idea how to send attachments with protocol MTOM.
Does anybody know how to do this in ABAP?
Thanks a lot!
LUIS B.

Hi there.
Well, I couldn't get the ABAP Proxy working so I build the SOAP client from scratch using class CL_HTTP_CLIENT. It was harder because I had to take care of every aspect in the HTTP communication but in the end it was more flexible.
I hope this helps.

Similar Messages

  • Two ABAP Development Clients with Transport enabled in Development System

    Hello All,
    I have a unique situation in my development systems. We currently have two abap development clients with client settings which allows repository transports to be created. The reason for this setup is because there are two different abap development teams who want to work independently.
    Has anyone see two development clients in development system? Do you see any risk with having two abap development clients with transport enbaled? Should I force them to work in ONLY ONE ABAP development client?
    I would like to know your thoughts?
    Thx...Rocky

    Hello,
    It may not a good idea to have two development clients. You have to manage with the following issues:
    (1) Customizing transports need to be moved to two clients
    (2) You may have to peridically sync. them between each other with all the development objects
    (3) Data needs to refreshed in two clients for development/unit test purposes
    (4) Same object may be edited in two clients independently at the same time which is likely to go to Production at different times resulting in version sequencing issues
    (5) Vension of data of object will be lost if you want to retrieve old version.
    Thanks,
    Venu

  • "SOAP:Fault" in scenario with ABAP proxy client

    Hello,
    I realized the scenario CRM40_Basis620(ABAP proxy client)->XI->File.
    XI:
    The sender communication channel is a XI adapter (Parameters: HTTP 1.0, XI 3.0, Integration Server, Security profile unchecked, Security level - HTTP).
    CRM:
    The proxy generation is ok.
    SLDCHECK is ok.
    All RFC destinations are ok.
    APPINT_200_620 for CRM was installed and configured well (I think so, but...).
    When I ran the ABAP proxy client on CRM, sxmb_moni(CRM) returned the text for the XML Message (Display-CallIntegrationServer-Payloads-TraceDocument):
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <SAP:TraceHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="1" type="T">system-ID = EST</Trace>
      <Trace level="1" type="T">client = 300</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = BABKIN_RA</Trace>
      <Trace level="1" type="Timestamp">2007-08-06T13:55:12Z</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Message-GUID = DC4424A659314CF18F500002A541D0E7</Trace>
      <Trace level="1" type="T">PLNAME = SENDER</Trace>
      <Trace level="1" type="T">QOS = EO</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline = SENDER</Trace>
      <Trace level="1" type="T">Get definition of internal pipeline = SAP_SENDER</Trace>
      <Trace level="1" type="T">Generated prefixed queue name = XBTS0004</Trace>
      <Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Going to persist message + call qRFC now...</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline SENDER</Trace>
      <Trace level="1" type="T">system-ID = EST</Trace>
      <Trace level="1" type="T">client = 300</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = BABKIN_RA</Trace>
      <Trace level="1" type="Timestamp">2007-08-06T13:55:12Z</Trace>
      <Trace level="1" type="T">----
    </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC">
      <Trace level="1" type="T">Get definition of pipeline PID= SENDER</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
    - <Trace level="1" type="B" name="PLSRV_CALL_INTEGRATION_SERVER">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-ENTER_PLSRV">
      <Trace level="1" type="T">URL for integration server read from global configuration</Trace>
      <Trace level="1" type="T">URL= http://SRMDEV.oao.sng:8011/sap/xi/engine?type=entry</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_TECHNICAL_ROUTING_PROPERTY" />
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
      <Trace level="1" type="System_Error">HTTP-client: error response= <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Header> </SOAP:Header> <SOAP:Body> <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>SOAP:Client</faultcode><faultstring>Error during conversion of XI message</faultstring><faultactor>http://sap.com/xi/XI/Message/30</faultactor><detail><SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIServer</SAP:Category><SAP:Code area="SECURITY">INBOUND_SECURE_LEVEL</SAP:Code><SAP:P1>DC4424A659314CF18F500002A541D0E7</SAP:P1><SAP:P2/><SAP:P3>HTTP</SAP:P3><SAP:P4/><SAP:AdditionalText/><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack>Message DC4424A659314CF18F500002A541D0E7 was sent with ''. Channel configuration, however, requires 'HTTP' </SAP:Stack></SAP:Error></detail></SOAP:Fault> </SOAP:Body> </SOAP:Envelope></Trace>
      </Trace>
      <Trace level="1" type="System_Error">Exit XMB because of system error!</Trace>
      <Trace level="1" type="System_Error">System-Error: HTTP.HTTP_STATUS_CODE_NEQ_OK</Trace>
      <Trace level="1" type="System_Error">HTTP status code 500 : Error during conversion of XI message</Trace>
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      </SAP:TraceHeader>
    I think the main problem is the parameter "HTTP Security level" for the channel, but not sure.
    Does anybody know where to find a solution?
    Regards,
    Roman

    Hi Roman
    There is no need for an XI adapter for client proxy.... we only use that for server proxies.
    Vaibhav

  • ABAP proxy client call PI with new client 120 in old business system

    Hi all
    We have a requirement to call PI from ABAP client proxy in synchronous mode via a CRM client 120.
    CRM client 100 is already configured in the Business system talked above but now we need the same business system to be configured for client 120 as well.
    My question is If we go to the SLD and
    |-> Click on Business System
    |-> Add new client 120
    Will it work or we need to do some extra configuration for communication channel.
    Also please let me know how to configure Integration Directory for sender agreement, Receiver Agreement and the communication channel.
    Thanks in Advance.

    Hi Naina ,
    We have a requirement to call PI from ABAP client proxy in synchronous mode via a CRM client 120.
    CRM client 100 is already configured in the Business system talked above but now we need the same business system to be configured for client 120 as well.
    My question is If we go to the SLD and
    |-> Click on Business System
    |-> Add new client 120
    > hope the technical entry of CRM is already in SLD . So you just need to make a business system entry . point the business sytem to the technical system entry with the right client here 120 .
    Will it work or we need to do some extra configuration for communication channel.
    > since sender is client proxy you don't need to do anything in case of receiver proxy you will be needing reciver communication channel of XI adapter type .
    for proxy based communication your application system(other than PI/XI) should be able to make a proxy call to XI or receive a call from XI .for this purpose you need to make some settings at R/3( or CRM level)
    For this check blog  : /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    Abap proxies ( Client and Server proxies)
    Other steps i.e Interface determination/receiver determination are as usual .
    Regards ,

  • I want to test sender ABAP proxy in AAE by SOAP client

    To PI Specialists
    Now I plan to test sender ABAP proxy in AAE by SOAP client system.
    (we use aae so we set sender abap proxy by sender soap adapter.)
    ABAP creating team and PI creating team are in other site.We cant contact easily.
    I want to separate ABAP Unit test and PI Unit test, plan to use soap client for test driver.
    (we use SOAPUI. )
    the url is http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=party:service:channel
    I noticed that sender soap adapter is started, but the messeage protocol is invalid.
    we use messege of wsdl. it must be XI3.0 protocol.
    Please tell me XI3.0 protocol.
    Naoki

    This is possible to do in SOAPUI.  I am testing this scenario using AAE, but I am also using SOAP UI Pro.  The procedure is pretty basic.  Instead of sending your payload in as part of the body, you have to send it in as an attachment.  You will also need to set the header correctly.  Here is a sample message from my SOAP UI tests that may help. The only thing you need to do differently is load the attachment, name it, and make sure that the name of the attachment is reflected in the SAP:Payload attribute.  Also, I am using a Groovy script to create a GUID.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    <soapenv:Header>
      <SAP:Main versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"
                xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
       <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
       <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
       <SAP:MessageId>${Create GUID#result}</SAP:MessageId>
       <SAP:TimeSent>${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}</SAP:TimeSent>
       <SAP:Sender>
        <SAP:Service>SVCNM</SAP:Service>
       </SAP:Sender>
       <SAP:Interface namespace="Interface_Namehttp://namespace.com">Interface_Name</SAP:Interface>
      </SAP:Main>
      <SAP:ReliableMessaging SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>
      </SAP:ReliableMessaging>
      <SAP:System SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:Record namespace="http://www.sap.com/webas/712/soap/features/runtime/metering/" name="CallingType">SA</SAP:Record>
      </SAP:System>
      <SAP:Diagnostic SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:TraceLevel>Information</SAP:TraceLevel>
       <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
      <SAP:HopList SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:Hop timeStamp="${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}" wasRead="false">
        <SAP:Engine type="BS">SVCNM</SAP:Engine>
        <SAP:Adapter namespace="XIhttp://sap.com/xi/XI/System">XI</SAP:Adapter>
        <SAP:MessageId>${Create GUID#result}</SAP:MessageId>
        <SAP:Info>3.0</SAP:Info>
       </SAP:Hop>
      </SAP:HopList>
    </soapenv:Header>
    <soapenv:Body>
      <SAP:Manifest wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" 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">
       <SAP:Payload xlink:href="cid:TestPayload.xml">
        <SAP:Name>MainDocument</SAP:Name>
        <SAP:Description/>
        <SAP:Type>Application</SAP:Type>
       </SAP:Payload>
      </SAP:Manifest>
    </soapenv:Body>
    </soapenv:Envelope>
    Here is a picture of my SOAP UI project in case it help the understanding.

  • Any one could help me with this soap client program?

    Any one could help me with this soap client program?
    Below is the request format my partner is expecting to see:
    POST /Service.asmx HTTP/1.1
    Host: 192.168.1.1
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "https://api.abcdefg.com/GetList"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body>
              <GetList xmlns="https://api.abcdefg.com/">
                   <username>string</username>
                   <password>string</password>
              </GetList>
         </soap:Body>
    </soap:Envelope>The java client I wrote is blow:
    import javax.xml.soap.*;
    import java.util.Iterator;
    import java.net.URL;
    import java.io.*;
    public class Client {
        public static void main(String [] args) {
            try {
                SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
                SOAPConnection connection = soapConnectionFactory.createConnection();
                SOAPFactory soapFactory = SOAPFactory.newInstance();
                MessageFactory factory = MessageFactory.newInstance();
                SOAPMessage message = factory.createMessage();
             // addd SOAPAction;
             MimeHeaders hd = message.getMimeHeaders();
             hd.addHeader("SOAPAction", "https://api.abcdefg.com/GetList");
                // get env and body;
                SOAPPart soapPart = message.getSOAPPart();
                SOAPEnvelope envelope = soapPart.getEnvelope();
             SOAPBody body = envelope.getBody();
                Name bodyName = soapFactory.createName("GetList", "", "https://api.abcdefg.com/");
                SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
                //Constructing the body for the request;
             SOAPElement username = bodyElement.addChildElement("username");
             username.addTextNode("1234567");
             SOAPElement password = bodyElement.addChildElement("password");
             password.addTextNode("7654321");
                System.out.print("\nPrinting the message that is being sent: \n\n");
                message.writeTo(System.out);
                System.out.println("\n\n");
                URL endpoint = new URL ("https://api.abcdefg.com/Service.asmx");
                SOAPMessage response = connection.call(message, endpoint);
                connection.close();
                response.writeTo(System.out);
            }catch (Exception e) {
                 System.err.println("ERROR: ******* " + e.toString());
    }The response my partner's server returned is:
    <faultstring>Server did not recognize the value of HTTP Header SOAPAction:. </faultstring>I used similar code to access the web services provides via tomcat, it works fine...however, for this .NET services it does not work.
    By the way, I also have another version of the clirnt, using JDOM to construct a XML request and wrap with axis message. I got the same error message as above.
    Can anyone point out something for me?
    Any kind of comments will be appreciated!!
    Edited by: Nickolas.Chen on May 6, 2008 7:20 PM

    You will need to Contact iTunes Customer Service and request assistance
    Use this Link  >  Apple  Support  iTunes Store  Contact

  • PI 7.11 Receiver SOAP (Axis) Adapter with MTOM (Attachments)

    Hello,
    Iu2019m trying to configure the Receiver SOAP (Axis) adapter for sending SOAP attachments via MTOM to a third-party webservice, but I'm not getting that PI transform the binary encode64 data in an payload element into a MTOM attachment (xop:include).
    The configuration looks like this:
    Transport Protocol: HTTP (Axis)
    SOAP Version: 1.2
    Encapsulation Format: MTOM
    Keep Attchments: enabled
    Payload Extraction: SOAP Body Child
    First of all, could you confirm if this is supported?
    Or Axis only supports MTOM for the transport protocol 'File (Axis)' like it seems refered in [Configuring the Receiver Axis SOAP Adapter|http://help.sap.com/saphelp_nwpi711/helpdata/en/45/a3c48c87cd0039e10000000a11466f/frameset.htm]
    Can you please provide me some guidance here?
    Thanks in advance!
    Kind Regards,
    Alexandre

    Hello,
    I am facing the exact same issue.
    I can't seem to set the cookie in the http header after following the guide.
    Cookie: WSL-credential=MyOwnCookie
    I managed to set the SOAPAction though.
    Anyone has any ideas?

  • Handling of SOAP Faults in SOAP Clients consuming PI Web services

    Hi there,
    the following is in regards to SOAP fault error handling in a SOAP client that consumes a Web Service published by PI.
    I have been reading a number of threads and blogs in regards to this topic and I am still left with some open questions which I hope to get some final answersclarifications through this thread.
    In particular the blogs
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI      - Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
    XI: Propagation of meaningful error information to SOAP Client     - XI: Propagation of meaningful error information to SOAP Client
    have caused by attention.
    Both of these threads are realating to the Fault Message type one can use to return errors back to a SOAP Client (.Net, Java, etc.).
    In our scenario we published a number of Web Services through PI that provide functionality to integrate with an R3 back-end system using inbound ABAP Proxies.
    The services are standardised and will be consumed by a number of .NetJava applications and systems. The reason for the use of ABAP proxies is the customer specific application logic that is executed in the backend system. The Web services are synchronous and don't use ccBPM in the middle. Transformations are performed in PI combined with various lookups to set default values before the message is passed into the ABAP Framework of the R3 back-end system. The lookups are done against the R3 back-end system using the PI RFC Lookup feature.
    The inbound proxies currently return application errors as part of the response message back to the SOAP client. For more critical errors we introduced the use of Fault message types as the method to return the information back to the SOAP Client. This is all working satisfactory.
    The questions I have are as follows.
    1. When an error occurs at the IE level (e.g. mapping error), ABAP Proxy framework level (e.g. conversion from XML to ABAP format) or Adapter Framework level (Adapter releated error) a different SOAP fault message structure is returned to the SOAP Client than the one    used for the application errors. The SOAP fault message structure used in this case is the standard SOAP fault used by PI to return system errors back to the caller. For those SOAP fault messages there is no payload generated that could be mapped to the SOAP fault structure used for the application errors. This would be preferrable as there would be only one Fault message structure used for both inbound ABAP proxy generated fault messages and PI generated fault messages.
    Also the error messages generated by PI can be quite cryptic and difficult to interpret at the client end and could be filtered     ranslated during message mapping if the payload of the PI generated SOAP fault message could be accessed in a message mapping.
    Point 3 of the above thread 2759 indicates that this would be possible but doesn't outline how. Could somebody please clarify this for me as I don't believe that this is really possible ???.
    My idea instead was to use the PI SOAP fault message structure to also return application errors. Therefore I would create a Fault message type that matches the PI SOAP fault structure. This would enable the SOAP Client to handle only one SOAP Fault error structure. Would that be something to look into instead ?????.
    2. We have been looking at using the integrated WEB AS SOAP adapter instead of using the AF Sender SOAP adapter. While playing with this we encountered differences in the content returned through the SOAP fault generated by PI. A sample is below. Shouldn't the content of these SOAP faults be the same if the error that caused it is the same. Also the SOAP fault returned by the IE SOAP adapter is much more    useful in this particular case. Both errors below are the same, a conversion error from XML to ABAP took place in the inbound ABAP proxy framework of the back-end system.
    SOAP fault returned when using SOAP Sender adapter of AF
    <!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>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIProxy:PARSE_APPLICATION_DATA:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         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:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    SOAP fault using integrated SOAP adapter of PI IE
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>System Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context/>
                   <code>ABAP.PARSE_APPLICATION_DATA</code>
                   <text>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXSBE20FF604BAFEF8D990A XML Bytepos.: 564  XML Path: ns1:CreatePORequest(1)POHEADER(2)COMP_CODE(1) Error Text: Data loss occurred when converting ############################## Kernel ErrorId: CONVT_DATA_LOSS))</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    I have been reading threads for hours without being able to find one that answers questions 1 or provides a blog that outlines the approach one should take for error handling in SOAP clients that consume PI Web Services (and covers both PISystem generated faults and faults raised in Proxies).
    There may already be a blog or thread and I just missed it.
    Any comments are welcome.
    Thanks. Dieter

    Hi Dieter,
    As Bhavesh already mentioned fault messages are used for application errors. The same is described in SAP XI help:
    http://help.sap.com/saphelp_nw04/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    In case of system error (e.g. field length too long in proxy call or error in XI/PI mapping) there seems to be no standard way of handling it and propagating the response to the consumer of webservice.
    Each system error is not recognized by SOAP adapter and SOAP adapter exception is raised.
    The only bizzare solution that I can see is developing an adapter module and transport wrong message to standard fault message before delivering it to adapter engine:
    http://help.sap.com/saphelp_nw04/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    Kind regards,
    Wojciech
    btw nice thread

  • 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

  • Https call from SAP SOAP client tool

    Hi,
    in order to call a webservice via https using the SAP SOAP client tool, I've done the following:
    1. The Client cert field filled with my personal certificate from IE (pcert.pfx)
    2. The Trust store field left as it was (cacerts file of the jre).
    When calling the service I am getting
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
    Very likely this is caused by setting 2.
    Could anybody advise how to get an X.509 certificate of trusted root CAs? Any chance to export from IE or would one have to get that from a CA? File types required are ppfx or p12, which is strange since these contain private keys.
    Much appreciated.
    Rene Funke

    Hi Rene,
    You need to include the full certificate chain in the p12 file. i.e. private cert and root CA cert.  IE will not export the full certificate path with the private certificate unless it was imported into IE with this flag set. You could use Firefox to generate the pks12 file. It will include the full certificate path.
    This private certificate (p12 file) should then be added to the truststore in XI.
    Also, .p12 (pkcs#12) file format defines a file format commonly used to store private keys with accompanying public key certificates - not just private keys.
    Hope this helps.
    Bryan

  • Error while creating the HTTP client with destination GB_DPSRetrieve

    Hi All,
    It is an interface R/3 -->XI --> HTTP ( proxy to HTTP ).
    Please find the error log below and throw some light why the HTTP adapter is getting error -
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>SystemError</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>DC98499F-7E42-74F1-A41F-0017A4107EE6</SAP:MessageId>
      <SAP:RefToMessageId>DC98499C-A1EA-BEF1-B4DD-00110A63BF06</SAP:RefToMessageId>
      <SAP:TimeSent>2007-11-21T15:51:30Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Party agency="http://sap.com/xi/XI" scheme="XIParty">GovernmentGateway</SAP:Party>
      <SAP:Service>GGMailbox</SAP:Service>
      <SAP:Interface namespace="http://sap.com/xi/E-FILING_GB/2005">DPSretrieve</SAP:Interface>
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>SAP_DEV_ERP2005</SAP:Service>
      <SAP:Interface namespace="http://sap.com/xi/HR">HR_GB_EFI_DPSretrieve</SAP:Interface>
      </SAP:Receiver>
      <SAP:Interface namespace="http://sap.com/xi/E-FILING_GB/2005">DPSretrieve</SAP:Interface>
      </SAP:Main>
    - <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:QualityOfService>BestEffort</SAP:QualityOfService>
      </SAP:ReliableMessaging>
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_CLIENT_DEST</SAP:Code>
      <SAP:P1>GB_DPSRetrieve</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error while creating the HTTP client with destination GB_DPSRetrieve</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    - <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    - <SAP:Hop timeStamp="2007-11-21T15:51:30Z" wasRead="false">
      <SAP:Engine type="BS">SAP_DEV_ERP2005</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>
      <SAP:MessageId>DC98499C-A1EA-BEF1-B4DD-00110A63BF06</SAP:MessageId>
      <SAP:Info>3.0</SAP:Info>
      </SAP:Hop>
    - <SAP:Hop timeStamp="2007-11-21T15:51:30Z" wasRead="false">
      <SAP:Engine type="IS">is.00.lbsth-tb1ci</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>
      <SAP:MessageId>DC98499C-A1EA-BEF1-B4DD-00110A63BF06</SAP:MessageId>
      <SAP:Info>3.0</SAP:Info>
      </SAP:Hop>
    - <SAP:Hop timeStamp="2007-11-21T15:51:30Z" wasRead="false">
      <SAP:Engine type="IS" />
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">HTTP</SAP:Adapter>
      <SAP:MessageId>DC98499C-A1EA-BEF1-B4DD-00110A63BF06</SAP:MessageId>
      <SAP:Info />
      </SAP:Hop>
      </SAP:HopList>
    - <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Date>20071121</SAP:Date>
      <SAP:Time>155130</SAP:Time>
      <SAP:Host>lbsth-tb1ci</SAP:Host>
      <SAP:SystemId>XIS</SAP:SystemId>
      <SAP:SystemNr>00</SAP:SystemNr>
      <SAP:OS>Windows NT</SAP:OS>
      <SAP:DB>ORACLE</SAP:DB>
      <SAP:Language />
      <SAP:ProcStatus>023</SAP:ProcStatus>
      <SAP:AdapterStatus>000</SAP:AdapterStatus>
      <SAP:User>PISUPER</SAP:User>
      <SAP:TraceLevel>1</SAP:TraceLevel>
      <SAP:LogSeqNbr>000</SAP:LogSeqNbr>
      <SAP:RetryLogSeqNbr>000</SAP:RetryLogSeqNbr>
      <SAP:PipelineIdInternal>SAP_CENTRAL</SAP:PipelineIdInternal>
      <SAP:PipelineIdExternal>CENTRAL</SAP:PipelineIdExternal>
      <SAP:PipelineElementId>60C3C53B4BB7B62DE10000000A1148F5</SAP:PipelineElementId>
      <SAP:PipelineService>PLSRV_CALL_ADAPTER</SAP:PipelineService>
      <SAP:QIdInternal />
      <SAP:CommitActor>X</SAP:CommitActor>
      <SAP:SplitNumber>0</SAP:SplitNumber>
      <SAP:NumberOfRetries>0</SAP:NumberOfRetries>
      <SAP:NumberOfManualRetries>0</SAP:NumberOfManualRetries>
      <SAP:TypeOfEngine client="200">CENTRAL</SAP:TypeOfEngine>
      <SAP:PlsrvExceptionCode />
      <SAP:EOReferenceRuntime type="TID" />
      <SAP:EOReferenceInbound type="TID" />
      <SAP:EOReferenceOutbound type="TID" />
      <SAP:MessageSizePayload>0</SAP:MessageSizePayload>
      <SAP:MessageSizeTotal>2918</SAP:MessageSizeTotal>
      <SAP:PayloadSizeRequest>0</SAP:PayloadSizeRequest>
      <SAP:PayloadSizeRequestMap>0</SAP:PayloadSizeRequestMap>
      <SAP:PayloadSizeResponse>0</SAP:PayloadSizeResponse>
      <SAP:PayloadSizeResponseMap>0</SAP:PayloadSizeResponseMap>
      <SAP:Reorganization>INI</SAP:Reorganization>
      <SAP:AdapterInbound>PLAINHTTP</SAP:AdapterInbound>
      <SAP:AdapterOutbound>IENGINE</SAP:AdapterOutbound>
      <SAP:InterfaceAction>INIT</SAP:InterfaceAction>
      <SAP:RandomNumber>15</SAP:RandomNumber>
      <SAP:AckStatus>000</SAP:AckStatus>
      <SAP:SkipReceiverDetermination />
      <SAP:Receiver_Agreement_GUID>24422A5646443F8E9D975D57A3EE8162</SAP:Receiver_Agreement_GUID>
      </SAP:RunTime>
    - <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.5</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_MAPPING_REQUEST</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.515</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_MAPPING_REQUEST</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.531</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_OUTBOUND_BINDING</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.531</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_OUTBOUND_BINDING</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.531</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="PLSRV">PLSRV_CALL_ADAPTER</SAP:Name>
      <SAP:Timestamp type="begin" host="lbsth-tb1ci">20071121155130.531</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="lbsth-tb1ci">20071121155130.656</SAP:Timestamp>
      </SAP:RunTimeItem>
      </SAP:PerformanceHeader>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information</SAP:TraceLevel>
      <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
      <Trace level="1" type="T">SystemError message generated. Guid: DC98499F7E4274F1A41F0017A4107EE6</Trace>
      <Trace level="1" type="T">Error during execution of message : DC98499CA1EABEF1B4DD00110A63BF06</Trace>
      <Trace level="1" type="T">ApplicationMessage was (=RefToMsgId): DC98499CA1EABEF1B4DD00110A63BF06</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      </SAP:Trace>
      </SOAP:Header>
    - <SOAP:Body>
      <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" />
      </SOAP:Body>
      </SOAP:Envelope>
    Regards,
    Kishore

    Hi,
    In the HTTP Receiver what is the Addressing Type used ? (URL Address or HTTP Destination).
    If its URL Addressing Type, check if right Authentication Type is used with valid values and for HTTP Addressing Type check this HTTP Client Create Error, it could be helpful.
    Also check if the Target system can be reached from the XI server to validate the configuration parameters.
    Regards,
    S.Santhosh Kumar

  • Web service proxy client with client cert cause SSLSessionNotFoundErr

    Hi,
    I tried to run web service proxy client with certification from JDeveloper 10.1.3.0.4 to call PKI enabled web service got folllowing error:
    WARNING: Unable to connect to URL: due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    Web service deployed on OAS

    Hi,
    i am trying to invoke from JDeveloper (10.1.3) a CRM On Demand's Web Service and I hava the same problem:
    ADVERTENCIA: Unable to connect to URL: https://secure-ausomxgfa.crmondemand.com/Services/Integration due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:96)
         at testerlast.ContactClient.contactInsert(ContactClient.java:88)
         at testerlast.ContactClient.main(ContactClient.java:69)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:93)
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:89)
         at oracle.j2ee.ws.client.ClientTransportException.<init>(ClientTransportException.java:33)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:144)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:121)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:169)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:111)
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:80)
         ... 2 more
    To do the invocation I have done a proxy to consume this Web Service, with the follow main:
    public static void main(String[] args) {
    try {
    testerlast.ContactClient myPort = new testerlast.ContactClient();
    System.out.println("calling " + myPort.getEndpoint());
    myPort.setUsername(nameUser);
    myPort.setPassword(password);
    ListOfContactData llista = new ListOfContactData();
    ContactData[] contacts=new ContactData[2];
    ContactData contact=new ContactData();
    ContactInsert_Input input=new ContactInsert_Input();
    // Login WS HTTPS
    String idSesion=connexioWS_CRM.logon(URL,nameUser,password);
    // Add contact
    for (int i = 0; i < contacts.length; i++) {
    contact.setId("ProvaWSCRM"+i);
    contact.setContactFirstName("JDeveloper"+i);
    contact.setContactLastName("prove"+i);
    contact.setCellularPhone("77777777"+i);
    contact.setDescription("Add contact with Id:"+contact.getId());
    contacts=contact;
    System.out.println("Id:"+contacts[i].getId()+" firstName:"+contacts[i].getContactFirstName()+" lastName:"+contacts[i].getContactLastName());
    llista.setContact(contacts);
    input.setListOfContact(llista);
    input.setEcho("off");
    System.out.println("Pwd:"+myPort.getPassword()+" Port:"+myPort._port+" endpoint:"+myPort.getEndpoint()+" user:"+myPort.getUsername());
    myPort.contactInsert(llista,"LIC","Broadset","OFF");
    // Logout en WS (HTTPS)
    connexioWS_CRM.logoff(URL, idSesion);
    } catch (Exception ex) {
    ex.printStackTrace();
    What's wrong? Any idea?
    Thank you
    Edited by: user12085357 on 31-oct-2009 10:39

  • 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

  • Parsing error when running a SOAP client

    New to SOAP. Tring to get get it up an running using some of the Oreilly examples from Java and XML. Anyone with any suggestions to fix the error I am getting. Thanx in advance.
    1>This is my simple SAX client:
    package xml;
    import java.net.URL;
    import java.util.Vector;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    public class CDAdder {
    public void add(URL url, String title, String artist) throws SOAPException {
    System.out.println("Adding CD titled '" + title + "' by '" + artist + "'");
    //Build the call object
    Call call = new Call();
    call.setEncodingStyleURI("urn:cd-catalog");
    call.setMethodName("addCD");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    //Setup the parameters
    Vector params = new Vector();
    params.addElement(new Parameter("title",String.class,title,null));
    params.addElement(new Parameter("artist",String.class,artist,null));
    call.setParams(params);
    //Invoke the call
    Response response;
    response = call.invoke(url,"");
    if(!response.generatedFault()) {
    System.out.println("Successful CD Addition");
    } else {
    Fault fault = response.getFault();
    System.out.println("Error encountered: " + fault.getFaultString());
    public static void main(String[] args) {
    try {
    URL url = new URL("http://localhost:8081/soap/servlet/rpcrouter");
    String title = "Riding the Midnight Train";
    String artist = "Doc Watson";
    CDAdder adder = new CDAdder();
    adder.add(url, title, artist);
    } catch(Exception e) {
    e.printStackTrace();
    2>My service:
    package javaxml2;
    import java.util.Hashtable;
    public class CDCatalog {
    private Hashtable catalog;
    public CDCatalog() {
    catalog = new Hashtable();
    catalog.put("Nickel Creek", "Nickel Creek");
    catalog.put("Let it Fall", "Sean Watkins");
    catalog.put("Aerial Boundaries", "Michael Hedges");
    catalog.put("Taproot", "Michael Hedges");
    public void addCD(String title, String artist) {
    if ((title == null) || (artist==null)) {
    throw new IllegalArgumentException("Title or Artist cannot be null.");
    catalog.put(title, artist);
    public String getArtist(String title) {
    if (title == null) {
    throw new IllegalArgumentException("Title cannot be null.");
    return (String)catalog.get(title);
    public Hashtable list() {
    return catalog;
    3>My deployement descriptor:
    <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
    id="urn:cd-catalog"
    >
    <isd:provider type="java"
    scope="Application"
    methods="addCD getCD list"
    >
    <isd:java class="javaxml2.CDCatalog" static="false" />
    </isd:provider>
    <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
    </isd:service>
    4>I have deployed the SOAP Service:
    D:\XML-RPC\javaxml2>java org.apache.soap.server.ServiceManagerClient http://loca
    lhost:8081/soap/servlet/rpcrouter deploy xml/CDCatalogDD.xml
    D:\XML-RPC\javaxml2>java org.apache.soap.server.ServiceManagerClient http://loca
    lhost:8081/soap/servlet/rpcrouter list
    Deployed Services:
    urn:cd-catalog
    D:\XML-RPC\javaxml2>
    Error when I try using the service:FYI: I am running the client with JBuilder 2005
    Adding CD titled 'Riding the Midnight Train' by 'Doc Watson'
    Error encountered: parsing error: org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty.

    call.setEncodingStyleURI("urn:cd-catalog");
    in the SOAP client has to be
    call.setTargetObjectURI("urn:cd-catalog");

  • Error while creating the HTTP client with destination

    Hi ,
    I am getting this error while connecting to https location on receiver channel . The below error i am getting in SXMB_moni
    Error while creating the HTTP client with destination
    The receiver party is doing some security setting on there end and for that purpose we have provided the external IP address to them , after that we are getting the above error.
    We have already installed the client certificate on our staging server , and have done the correct setting in SM59 and channel.

    Check few things..
    1) I believe you use specify destination for the addressing type field in the comm channel. If so make sure you entered valid target URL address in the SM59 of type http destination.
    2) Check the validitity of the certificate. You can import the certificate both in java and abap stack.
    3) Make sure certificate is installed as expected.
    4) Send the request and talk to the target system and check what error information they get in their log related to ssl.

Maybe you are looking for

  • Wrap with layers

    hello, i amy be asking a simple question but... i have assambled a panorama with 10 images, all with layers and masks. at this point i would like to select the entire panorama and "wrap" it with the transfome tool. of course i don't want to flatten t

  • Error while trying to visualize the results from algorithms (connect with Rserver)

    Hello all, I'm trying to execute Apriori to create a relation purchase between products. I execute the algorithm and it work perfectly, but when I change the view to change the results, it appears the following error: Does anyone knows what might be

  • Line wrapping in Java??

    Hi, Can anyone tell me if there is a class to handle line wrapping in Java? I'm working on a Java Mail application that deals with fairly lengthy email message bodies. The problem is in the actual email, the message body appears in a lengthy horizont

  • Is there a way to recover the spfile if I remove the spfile?

    Hi, Is there a way to recover the spfile if I remove the spfile? I did a rman full db backup. thanks.

  • Drop connection between 2 sun server

    Hi, Has everyone seen this problem ? I have 3 server Sunfire V440 with Solaris 9 on each. 2 days ago, when I use command telnet to create a connection (any services as 21, 25, 110, 80,.....) from server 1 to server 2 like: #hostname server1 #telnet s