Passing SAP Exceptions to a sync SOAP Call

Hi,
I have a scenario in which I have exposed a RFC as a Web service through XI. My sender is SOAP sender who invokes XI which inturn calls the RFC in SAP.
When there is any Error or exception triggered from SAP i.e invalid userid or Insufficient Authorization error I want to capture these errors and send it back to the Sender SOAP system.
I understand that I can use Fault messages but the fault message would be triggered only when my RFC throws an Exception. IF SAP triggers an exception even before the call reaches the RFC then how do I handle these errors??
Pls advice.
Thanks
Ashish

Hi,
I tried your steps but I still cannot map my Error XML Message to a valud Fault Message.
This is my Error XML message being generated from SAP RFC Gateway:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  Call Adapter
  -->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
  <SAP:Category>XIAdapterFramework</SAP:Category>
  <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
  <SAP:P1 />
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.af.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.af.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (103) RFC_ERROR_LOGON_FAILURE: Name or password is incorrect. Please re-enter</SAP:AdditionalText>
  <SAP:ApplicationFaultMessage namespace="" />
  <SAP:Stack />
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>
What am I doing wrong? I have a Mapping defined between my RFC Exception and Fault Message but the above xml message is not compatible with my RFC Exception Message schema therefore I do not see any message going back to the SOAP Sender.
The scenario is that the RFC Receiver comm channel between XI and SAP has an invalid userid. My guess is that even before the call reaches to the RFC , SAP gives this error as XI cannot connect to SAP R/3 with an invalid userid.
I want to capture the above error message and send it back to the SOAP caller. As of now he gets a bad java stack trace which does not mean anything.
Please advice.
Thanks
Ashish

Similar Messages

  • SOAP  Call to SAP RFC

    Hi,
    I have a scenario in which I am calling a RFC from SOAP client. RFC has been exposed as a web service. The RFC takes a table parameter. The Table param is Not Optional.
    Everything works fine except when I try to send an invalid value in the Export Param to the RFC. The SOAP Call Fails and I get a fault Message.
    If there is an invalid value in the Export Param the Table Parameter is Null. So is that the reason why the SOAP call fails??
    Any help regarding this would be appreciate. Tried searching OSS but could not find anything on this.
    Here is the Fault Message:
    <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(Compiled Code))
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java(Compiled Code))
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:513)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
         at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java(Compiled Code))
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java(Compiled Code))
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Inlined Compiled Code))
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Compiled Code))
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java(Compiled Code))
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java(Compiled Code))
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java(Inlined Compiled Code))
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java(Compiled Code))
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    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: Application:EXCEPTION_DURING_EXECUTE:
         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)
         ... 21 more
    Caused by: com.sap.aii.af.ra.ms.api.DeliveryException: Application:EXCEPTION_DURING_EXECUTE:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java(Compiled Code))
         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(Compiled Code))
         at com.sap.engine.frame.core.thread.Task.run(Task.java(Compiled Code))
         at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java(Compiled Code))
              ]]></text>
            </s:SystemError>
          </detail>
        </SOAP:Fault>
      </SOAP:Body>
    </SOAP:Envelope>
    Thanks
    Ashish

    Hi Ashish,
    Were you able to resolve this problem? I am facing a similar situation.
    After doing all the steps necessary when I try to send a request to the soap_sender channel I get a message unable to post:error 500
    ANy help would be appreciated.
    Thanks

  • Service call exception java.lang. missing soap end tag..

    Hi Experts,
    I did the soap to rfc sync interface and Create the java deployble client proxy application in nwds. In Nwds i maintaine the PI parameters message server host,port and exectue the application. it is working fine. but i was deploying the another j2ee engine server messager server host name and port parameters I am getting the error. that is Service call exception java.lang. mising soap end tag.
    Could you help me.
    Thanks & Regards,
    Veera

    hi,
    restarting the java stack would be enough. You can do that at SMICM. Before you should deregister all queues in SMQR so that incoming messages has to wait in the queue. Of coz all synchronous msgs would fail, as well messages going to your Java Inbound Adapters.
    note:reward points if solution found helpfull.....
    regards
    chandrakanth.k

  • Unhandled exception in SOAP call

    I get this exception when I try to add a provider for the samples for inlineRendering.
    I recently installed the August 2002 version of the JPDK.
    Any help will be appreciated.
    -NP
    STACK::: start
    8/30/02 10:53 AM default-app: [id=(null), instance=(null)] Unhandled exception in SOAP call
    java.lang.NullPointerException
         at oracle.portal.utils.xml.v2.XMLUtil.parseStylesheet(Unknown Source)
         at oracle.portal.provider.v2.http.DefaultProviderLoader.parseRegistry(Unknown Source)
         at oracle.portal.provider.v2.http.DefaultProviderLoader.getProviderDefinition(Unknown Source)
         at oracle.portal.provider.v2.http.DefaultProviderLoader.init(Unknown Source)
         at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.init(Unknown Source)
         at oracle.webdb.provider.v2.utils.soap.SOAPProcessor.locateService(Unknown Source)
         at oracle.webdb.provider.v2.utils.soap.SOAPProcessor.processInternal(Unknown Source)
         at oracle.webdb.provider.v2.utils.soap.SOAPProcessor.process(Unknown Source)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.doSOAPCall(Unknown Source)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:684)
         at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
         at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
         at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    STACK::: end

    Amjad,
    Thank you. I had to remove some comments from the provider.xml that were throwing the parser off. The SOAP error seems fixed.
    I am getting this new error:-
    STACK:::::
    An unexpected error occurred: ORA-29532: Java call terminated by uncaught Java exception: java.net.SocketException: Invalid argument
    Invalid argument (WWC-43000)
    An unexpected error occurred: java.net.SocketException: Invalid argument
    Invalid argument
    at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:125)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:112)
    at java.net.Socket.<init>(Socket.java:269)
    at java.net.Socket.<init>(Socket.java:125)
    at HTTPClient.HTTPConnection$EstablishConnection.run(HTTPConnection.java)
    (WWC-43000)
    STACK::::
    Any input on this one?
    Rgds,
    -NP

  • Record center - submit file soap call throwing The request failed with http status 401: Unauthorized" exception

    Hi, I am trying to implement custom hold order / send to in sharepoint 2010 to send files in to holds / record center.
    I am at the last step where I am trying submit the metadata using soap call- submit file
    [SoapDocumentMethod("http://schemas.microsoft.com/sharepoint/soap/recordsrepository/SubmitFile", RequestNamespace = "http://schemas.microsoft.com/sharepoint/soap/recordsrepository/", ResponseNamespace = "http://schemas.microsoft.com/sharepoint/soap/recordsrepository/", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
    public string SubmitFile([XmlElement(DataType = "base64Binary")] byte[] fileToSubmit, [XmlArrayItem(IsNullable = false)] Microsoft.SharePoint.RecordsRepositoryProperty[] properties, string recordRouting, string sourceUrl, string userName)
    return (string)base.Invoke("SubmitFile", new object[] { fileToSubmit, properties, recordRouting, sourceUrl, userName })[0];
    I am getting an error "The request failed with http status 401: Unauthorized".
    Actual file was transferred successfully but while transferring the properties (metadata) I am getting this exception.
    ganesh

    Hi ganesh,
    Please try to disable the loop back check, compare the result:
    In Registry Editor, locate and then click the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    Right-click Lsa, point to New, and then click DWORD Value.
    Type DisableLoopbackCheck, and then press ENTER.
    Right-click DisableLoopbackCheck, and then click Modify.
    In the Value data box, type 1, and then click OK.
    Quit Registry Editor, and then restart your computer.
    In addition, please check if these links are useful:
    http://www.sharepointpills.com/2011/10/send-sharepoint-2010-document-to.html
    http://www.codeproject.com/Articles/497729/UploadingplusDocumentsplusProgramaticallyplustoplu
    I hope this helps.
    Thanks,
    Wendy
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Wendy Li
    TechNet Community Support

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

  • SOAP: call failed: java.io.EOFException: Connection closed by remote host

    Hi folks,
    my friday crusher:
    We have a sync RFC-PI-SOAP scenario.
    All is working fine in Dev system.
    After moving into Test following error is displayed as the SOAP response message:
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.EOFException: Connection closed by remote host.</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Also Channel Monitoring says:
    Message-Verarbeitung fehlgeschlagen. Grund: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.EOFException: Connection closed by remote host.
    Couldn´t find any hints in SDN and the web to this issue.
    Does anyone of you has made experiences with that problem?
    Maybe it´s a system parameter for time out SOAP connections....?
    Many thanks for your help
    -and-
    have a great weekend!
    Cheers
    André

    Very strange!
    But I have the solution:
    I have looked into channel monitoring / RWB again.
    There I saw, this PI is using two clusters on two application servers.
    Everytime the SOAP call is executed through the frist cluster, all was fine.
    But no SOAP call was successfully executed by the second cluster.
    Fortuity? No!
    The second cluster node / app server wasn´t registered for internet access in the used proxy server.
    So it wasn´t an PI issue.
    Now, all is fine & I´m happy!
    Thanks @all for helping!
    Cheers,
    André

  • ** SOAP to SOAP call - HTTP 404 not found - invalid content type

    Hi friends,
    We have one scenario SOAP to SOAP call. It is synchronous interface. We are calling the WSDL.
    For some of the messages (not all), we are getting the error in SXMB_MONI
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 404 Not Found
    In the sender & receiver SOAP communication channel also, same error : SOAP: call failed: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 404 Not Found
    Friends, this error is not coming for all messages. For some of the messages it is coming. For example,
    10:50 - Message Processed Successfully
    10:54 - Message Processed Successfully
    10:59 - Error
    11:05 - Message Processed Successfully
    By looking threads and blogs, I implemented MessagesTransformBean in the receiver CC and added the  parameter Transform.ContentType as 'text/xml;charset=utf-8'.
    After implementing this also, error is coming for some of the messages.
    Can you kindly clarify friends, what could be the problem?
    Kind regards,
    Jegathees P.

    I'm in agreement with Stefan...
    If the problem is intermittent then the system is overloaded at certain times. You would probably need to do some JVM analysis to see the resource usage & look at increasing the memory.
    Regards, Trevor

  • Mapping SOAP Fault during synchronous SOAP call

    We are building a mediated service scenario where PI is brokering a synchronous SOAP call, without changing any of the information being sent or received (the mappings use the same source and target data types with no transformations).  When the service is successfully executed everything works as expected, but when the target service returns a SOAP fault, PI appears to be wrapping the fault in a separate fault before returning it to the client.  Why is this happening?  Is there a way to simply return the SOAP fault to the client without adding the additional wrapper?
    Here is the fault received from the target service when called directly:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Header/>
       <soapenv:Body>
          <soapenv:Fault>
             <faultcode>Missing_Required_Data</faultcode>
             <faultstring>**Required data is invalid : Dealer Country**</faultstring>
          </soapenv:Fault>
       </soapenv:Body>
    </soapenv:Envelope>
    Here is the fault received from the mediated PI service call:
    <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.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapterFramework:GENERAL:com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: **Required data is invalid : Dealer Country**
         at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1161)
         at sun.reflect.GeneratedMethodAccessor948.invoke(Unknown Source)
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    Why aren't they the same?

    are diferents coz the first is a fault message and the second is a exception message.
    to send back the fault message define a fault message for both structure and map them in a new message mapping. later in the operation mapping or interface mapping  (depends of the pi version) under fault message or fault mappinng (i dont remember) tab assisg the fault message mapping.
    thats all you need.

  • SOAP Call Failure

    Hi All,
    We are facing the below error in receiver SOAP channel.. We are on PI7.1 ..Are there any installation checks that needs to be looked at as we are facing lot of inconsistencies with SOAP...
    What may be the cause of the below error...Also please let me know what all checks are needed as there are inconsistencies with SOAP adapter...
    SOAP: call failed: java.net.SocketException: Connection reset
    Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.SocketException: Connection reset.

    Hi Amit,
    Having the same issue :
    SOAP: call failed: java.net.SocketException: Connection reset
    has your issue been solved and how ?
    Regards,

  • External SOAP-Call ends with general error "PART UNKNOWN (NULL)"

    Hi,
    we generated a consumer proxy using the following WSDL file:
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:intf="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="https://soap.global-esign.com/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.3
    Built on Oct 05, 2005 (05:23:37 EDT)-->
       <wsdl:message name="CreatePdfSignatureRequest">
          <wsdl:part name="in0" type="xsd:string"/>
          <wsdl:part name="in1" type="xsd:string"/>
          <wsdl:part name="in2" type="xsd:base64Binary"/>
          <wsdl:part name="in3" type="xsd:string"/>
          <wsdl:part name="in4" type="xsd:boolean"/>
          <wsdl:part name="in5" type="xsd:string"/>
          <wsdl:part name="in6" type="xsd:string"/>
       </wsdl:message>
       <wsdl:message name="CreatePdfSignatureResponse">
          <wsdl:part name="CreatePdfSignatureReturn" type="xsd:base64Binary"/>
       </wsdl:message>
       <wsdl:portType name="GlobalEsignSoapExt">
          <wsdl:operation name="CreatePdfSignature" parameterOrder="in0 in1 in2 in3 in4 in5 in6">
             <wsdl:input message="impl:CreatePdfSignatureRequest" name="CreatePdfSignatureRequest"/>
             <wsdl:output message="impl:CreatePdfSignatureResponse" name="CreatePdfSignatureResponse"/>
          </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="GlobalEsignSoapExtSoapBinding" type="impl:GlobalEsignSoapExt">
          <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="CreatePdfSignature">
             <wsdlsoap:operation soapAction=""/>
             <wsdl:input name="CreatePdfSignatureRequest">
                <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://GlobalEsign.tsi.de" use="encoded"/>
             </wsdl:input>
             <wsdl:output name="CreatePdfSignatureResponse">
                <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" use="encoded"/>
             </wsdl:output>
          </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="GlobalEsignSoapExtService">
          <wsdl:port binding="impl:GlobalEsignSoapExtSoapBinding" name="GlobalEsignSoapExt">
             <wsdlsoap:address location="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt"/>
          </wsdl:port>
       </wsdl:service>
    </wsdl:definitions>
    The coding of the test program is:
    *& Report  Z_SOAP_PDF_SIGNATUR
    REPORT  z_soap_pdf_signatur.
    *------ Type pools
    type-pools: sai.
    *------ Class definitions and references
    DATA: lo_zpdf_sign    TYPE REF TO zpdfco_global_esign_soap_ext,
          lo_system_fault TYPE REF TO cx_ai_system_fault,
          lo_appl_fault   type ref to cx_ai_application_fault.
    *------ data
    DATA: output TYPE zpdfcreate_pdf_signature_respo,
          input TYPE  zpdfcreate_pdf_signature.
    DATA: wa_controller TYPE prxctrl.
    DATA:  pdfout(255) TYPE c  VALUE
    'C:/TEMP/pp-20080229-93ES-40010-0013439840-1690000005.pdf',
           pdfsign(255) TYPE c  VALUE
    'C:/TEMP/pp-20080229-93ES-40010-0013439840-1690000005-sign.pdf',
            wa_objcont TYPE soli,
            objcont LIKE soli  OCCURS 0.
    DATA: xlines TYPE string,
          buffer TYPE  xstring,
          x_msg  TYPE c LENGTH 100.
    TRY.
        CREATE OBJECT lo_zpdf_sign
          EXPORTING
            logical_port_name = 't_systems'.
      CATCH cx_ai_system_fault .
    ENDTRY.
    * read unsigned pdf
    OPEN DATASET pdfout FOR INPUT MESSAGE x_msg
                        IN BINARY MODE.
    TRY.
        READ DATASET pdfout INTO xlines.
      CATCH cx_sy_file_open_mode.
        EXIT.
    ENDTRY.
    CLOSE DATASET pdfout.
    * convert string
    CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
      EXPORTING
        text           = xlines
    *   MIMETYPE       = ' '
    *    encoding       = 'UTF-8'
    IMPORTING
        buffer         = buffer
      EXCEPTIONS
        failed         = 1
        OTHERS         = 2  .
    TRY.
        input-in0 = 'user'.
        input-in1 = 'password'.
        input-in2 =  buffer.
        input-in3 = 'affilinet'.
        CALL METHOD lo_zpdf_sign->create_pdf_signature
          EXPORTING
            input  = input
          IMPORTING
            output = output.
      CATCH cx_ai_system_fault INTO lo_system_fault.
        DATA: lv_message TYPE string.
        DATA: lv_message_long TYPE string.
        CALL METHOD lo_system_fault->if_message~get_text
          RECEIVING
            result = lv_message.
        CALL METHOD lo_system_fault->if_message~get_longtext
          RECEIVING
            result = lv_message_long.
        WRITE lv_message.
        WRITE lv_message_long.
      CATCH cx_ai_application_fault into lo_appl_fault.
        DATA: lv_messaap TYPE string.
        DATA: lv_messaap_long TYPE string.
        CALL METHOD lo_appl_fault->if_message~get_text
          RECEIVING
            result = lv_messaap.
        CALL METHOD lo_appl_fault->if_message~get_longtext
          RECEIVING
            result = lv_messaap_long.
        WRITE lv_messaap.
        WRITE lv_messaap_long.
    ENDTRY.
    LOOP AT output-controller INTO wa_controller.
      WRITE:/ wa_controller-field.
      WRITE:/ wa_controller-value.
    ENDLOOP.
    * store signed pdf
    OPEN DATASET pdfsign FOR output MESSAGE x_msg
                        IN BINARY MODE.
    transfer output-CREATE_PDF_SIGNATURE_RETURN
             to pdfsign.
    Processing the soap call in the test programm ends in a system exception (cx_ai_system_fault)  with the message:
    "General Error Es ist ein Fehler bei der Proxy-Verarbeitung aufgetreten (  PART UNKNOWN (NULL)    )"
    It seems as if there is no response or a response in a wrong format given by the webservice.
    We had a look at the ICF-Trace.
    The request seems to be a proper soap-call.
    But the response is not in XML-format and therefore could not be completely displayed.
    it says:
    Ungültig auf der obersten Ebene im Dokument. Fehler beim Bearbeiten der Ressource 'file:///C:/Dokumente und Einstellungen/S...
    HTTP/1.1 200 OK
    ^
    Could anybody help ?
    Kind regards
    Heinz

    Hello Mathias,
    in our case the problem was, that the WDSL used parameters, which were not correcty interpreted by the SAP-Routine that creates the proxy.
    We changed the WDSL using only paramters covert by SAP.
    Here ist the WSDL that worked fine:
    <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:tsi="http://GlobalEsign.tsi.de">
    - <wsdl:documentation>
    <sidl:sidl xmlns:sidl="http://www.sap.com/2007/03/sidl" />
    </wsdl:documentation>
    - <wsdl:types>
    - <xsd:schema elementFormDefault="qualified" targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt">
    - <xsd:complexType name="CreatePdfSignature">
    - <xsd:sequence>
    <xsd:element name="in0" type="xsd:string" />
    <xsd:element name="in1" type="xsd:string" />
    <xsd:element name="in2" type="xsd:base64Binary" />
    <xsd:element name="in3" type="xsd:string" />
    <xsd:element name="in4" type="xsd:boolean" />
    <xsd:element name="in5" type="xsd:string" />
    <xsd:element name="in6" type="xsd:string" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    - <xsd:schema targetNamespace="http://GlobalEsign.tsi.de" xmlns="http://GlobalEsign.tsi.de">
    <xsd:import namespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" />
    <xsd:element name="CreatePdfSignature" type="tns:CreatePdfSignature" />
    - <xsd:element name="CreatePdfSignatureResponse">
    - <xsd:complexType>
    - <xsd:sequence>
    <xsd:element name="CreatePdfSignatureReturn" type="xsd:base64Binary" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    </wsdl:types>
    - <wsdl:message name="CreatePdfSignature">
    <wsdl:part name="CreatePdfSignature" element="tsi:CreatePdfSignature" />
    </wsdl:message>
    - <wsdl:message name="CreatePdfSignatureResponse">
    <wsdl:part name="CreatePdfSignatureResponse" element="tsi:CreatePdfSignatureResponse" />
    </wsdl:message>
    - <wsdl:portType name="GlobalEsignSoapExt">
    - <wsdl:operation name="CreatePdfSignature">
    <wsdl:input message="tns:CreatePdfSignature" />
    <wsdl:output message="tns:CreatePdfSignatureResponse" />
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    <wsdl:part name="in1" type="xsd:string"/>   was changed to <xsd:element name="in0" type="xsd:string" /> .
    Please let me know, whether you succeeded.
    Kind regards
    Heinz Schäfe

  • SOAP: call failed: java.io.EOFException

    Hi all,
    I have build a proxy to soap scenario that generates errors during runtime. The scenario
    consists of an ABAP program consuming a webservice through PI. The communication
    channel shows the following errorlog:
    - Message processing started
    - request entering
    - SOAP: call failed: java.io.EOFException: Connection closed by remote host.
    - Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.
    MessagingException: java.io.EOFException: Connection closed by remote host.
    Does anyone know the cause of this error?
    Thanks in advance.
    Regards,
    Ivo

    Hi Ravi,
    although I was able to reach the URL through a webbrowser, this problem was indeed caused by unavailability of the webservice. I just tried the connection without making any changes in PI and everything is working fine now.
    Case closed.
    Regards,
    Ivo

  • SOAP call failling

    Hi ,
    I am using a SOAP Receiver adapter to send a message. I am getting the below error when i try to call the soap adapter.
    SOAP: call failed: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
    SOAP: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.

    Hi Sneha,
    Please check Target URL, enter the complete address (URL) of the Web service provider that you want to send the message to. I searched and searched this error and all i could is that there could be a problem with wsdl.
    Regards
    joel

  • SOAP Receiver adapter error. SOAP CALL Failed

    Hi ,
        I am implementing scenario R/3->RFC adapter->XI->SOAP REceiver adapter->Web Service (Synchronous). I am getting the error.
    SOAP: call failed
    SOAP: error occured: java.net.ConnectException: Connection timed out
    Message log is as below.
    Any clue ?
    Thanks & Regards,
    Mathew
    2005-10-31 18:59:58
    Success
    output
    1130810398454
    The message was successfully received by the messaging system. Profile: XI URL: http://host:Port/MessagingSystem/receive/AFW/XI
    2005-10-31 18:59:58
    Success
    output
    1130810398458
    Using connection AFW. Trying to put the message into the request queue.
    2005-10-31 18:59:58
    Success
    output
    1130810398458
    Message successfully put into the queue.
    2005-10-31 18:59:58
    Success
    output
    1130810398459
    The message was successfully retrieved from the request queue.
    2005-10-31 18:59:58
    Success
    output
    1130810398459
    The message status set to DLNG.
    2005-10-31 18:59:58
    Success
    output
    1130810398460
    Delivering to channel: CC_CALCULATOR
    2005-10-31 18:59:58
    Success
    output
    1130810398564
    SOAP: request message entering the adapter
    2005-10-31 19:03:07
    Success
    output
    1130810587497
    SOAP: call failed
    2005-10-31 19:03:07
    Error
    output
    1130810587497
    SOAP: error occured: java.net.ConnectException: Connection timed out
    2005-10-31 19:03:07
    Error
    output
    1130810587498
    Exception caught by adapter framework: Connection timed out

    Hi Mathew,
    Check if the webservice is availble??? Based on the error below, it looks like the message is timing out at the Adapter Engine level waiting for the connection to make the webservice call...
    Prasad

  • Sync RFC call from XI

    Hi
    I've a requirement for a XI Inbound Order that I need to check for each MATNR on the Order Line it's associated Division (SPART).  Once I know the Division I'll then split up the Order per Division.
    Can I from my BPM collect the message, call a RFC via Send Sync Step to return the Divisions and then continue with my transformation ?
    I was looking for an example of how to call an RFC from a BPM.  NOT using Sync<>Async bridge.
    Does anybody have a link to a blog etc for that.?

    Hi,
    You can either use RFC lookup in mapping or use Sync RFC call in the BPM.
    Refer the Blog RFC Scenario using BPM --Starter Kit By Arpith Seth for Sync RFC call in BPM.
    Refer this document [Mapping Lookups: Remote Function Calls API|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439] for making RFC lokup from mapping.
    Thanks
    SaNv...

Maybe you are looking for

  • My safari won't open since I installed OSX Yosemite

    My Safari hasn't opened and functioned properly since I installed OS X Yosemite 10.10.1 on my Mac Book Pro.  Processor 2.66 GHz Intel Core 2 Duo, Memory 4 GB 1067 MHz DDR3. Is it possible to reinstall Safari?

  • Show a new row when an event is triggered

    Hi I have a requirement where in i have to create a new row when clicked on a add row button. In order to complete the requirement i have created a rowLayout region in the page and in the Controller i am adding the childs to the region in the PR. Chi

  • Question about DOM XML

    Hi Experts Do you Know how can I write I DOM XML the header of file I Mean <?xml version="1.0" encoding="iso-8859-8"?> Regards Yossi

  • How to down load pictures to card

    My phone storage is almost full and nothing is downloading to my card which has 23 gb free..not sure how to do this...Will go to store soon if I can't get advice quickly...thought maybe someone had advice now please..thanks

  • What version will work on my kindle fire?

    Will anyone tell me what version will work for my kindle fire?