Skip to Content
avatar image
Former Member

Using receiver SOAP Adapter

Hi,

I have the following Scenario:

I want to send an AuthenticateUSer method request to a WebService using SOAP receiver adapter synchronusly, and receive the Response.

I've found the following error in monitoring:

<i> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Call Adapter

-->

- 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="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>soap fault: Server was unable to process request. --> Object reference not set to an instance of an object.</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error></i>

Any ideas?

How do I say to the SOAP adapter wich method I want to Invoke?

Thanks and Regards.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    avatar image
    Former Member
    May 17, 2006 at 02:00 PM

    Hi,

    1) Check the wsdl message,mapped message (input to the SOAP Adapter)

    2) Check the Target URL in the SOAP Reciever Adapter. Also SOAP Receiver Adapter Parameters.

    http://help.sap.com/saphelp_nw2004s/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm

    3) Try to test the WebService -

    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services

    4) Check these

    receiver-soap-adapter-error-invalid-content-type-f

    Problems with soap adapter?

    <i>How do I say to the SOAP adapter wich method I want to Invoke?</i>

    You need to mention the Target URL i.e URL of the WSDL file.

    Hope this helps,

    REgards,

    Moorthy

    Message was edited by: Krishna Moorthy P

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Moorthy,

      I've test the WebService with WebService Studio 2.0 and it is working.

      I've test the SOAP Adapter with

      http://<host>:<port>//XISOAPAdapter/HelperServlet?action=GetChannelInfo&channelID=<Object%20version%20ID>

      and others and found the following log:

      <i><?xml version="1.0" ?>

      - http://schemas.xmlsoap.org/soap/envelope/">

      <faultcode>SOAP:Server</faultcode>

      <faultstring>Server Error</faultstring>

      - <detail>

      - http://sap.com/xi/WebService/xi2.0">

      <context>XIAdapter</context>

      <code>ADAPTER.SOAP_EXCEPTION</code>

      - <text>

      - <![CDATA[

      com.sap.aii.af.service.cpa.impl.exception.CPALookupException: Channel object with Id Channel:<Object version ID> not available in CPA Cache.

      at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getCPAObject(AbstractLookupManager.java:172)

      at com.sap.aii.af.mp.soap.web.HelperServlet.processGetChannelInfo(HelperServlet.java:455)

      at com.sap.aii.af.mp.soap.web.HelperServlet.doGet(HelperServlet.java:131)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

      at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

      at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

      at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

      at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

      at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

      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:100)

      at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

      ]]>

      </text>

      </s:SystemError>

      </detail>

      </SOAP:Fault></i>

      In RWB, the SOAP Adapter Monitoring looks green, and in http://<host>:<port>//XISOAPAdapter/MessageServlet

      <i>Message Servlet is in Status OK

      Status information:

      Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/aii/30_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#11 $) bound to /MessageServlet

      Classname ModuleProcessor: null

      Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean

      Lookupname for remoteModuleProcessorLookupName: null

      ModuleProcessorClass not instantiated

      ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0

      ModuleProcessorRemote not instantiated</i>

      Is the Adapter working properly?

      Thanks and Regards.