I really need some help getting a SOAP application to work on orion.

I have an application set up with a servlet front that will call the SOAP
rpcrouter.  All in all the application is simular to the one in the Java SOAP
book by Hernry Bequet. I put the soap.jar in my WEB-INF/lib in my application.

The problem I'm having is that the SOAP call can never find my class that is in
my deployment discriptor. I've heard that this is a classpath issue but I just
can not figure out what the problem is.


here is the error:
Ouch, the call failed: 
  Fault Code   = SOAP-ENV:Server.BadTargetObjectURI
  Fault String = Unable to resolve target object:
com.lilly.javaatg.catd.servlet.DataLoaderImpl



I have soap in one location on my machine

Here is the deploymentDescriptor.xml
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment";
id="urn:CanDEDataMgr">
  <isd:provider type="java" scope="Request" methods="isUserValid">
  <isd:java class="com.lilly.javaatg.catd.servlet.DataLoaderImpl"
static="false"/>  
  </isd:provider>
       
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>

Here is the call I use to deploy it

java org.apache.soap... http://localhost:8088/servlet/rpcrouter deploy
deplymentDescriptor.xml

here is my test code to call it.

URL url = new URL("http://localhost:8088/cande/servlet/rpcrouter";);
    // Build the call.
    Call call = new Call ();
    call.setTargetObjectURI ("urn:CanDEDataMgr");
    call.setMethodName ("isUserValid");
    Vector params = new Vector ();
    params.addElement (new Parameter("userID", String.class, userID,
Constants.NS_URI_SOAP_ENC));
    params.addElement (new Parameter("password", String.class, password,
Constants.NS_URI_SOAP_ENC));
    call.setParams (params);

Here is my web.xml mappings
<servlet>
    <servlet-name>candeLoad</servlet-name>
    <display-name>CATD CanDE Patient Data load Servlet</display-name>
    <description>no description</description>
   
<servlet-class>com.lilly.javaatg.catd.servlet.CanDEDataLoad.CanDELoadServlet</servlet-class>
  </servlet>
  <!-- SOAP rpcrouter servlet -->
<servlet>
    <servlet-name>rpcrouter</servlet-name>
    <display-name>Apache-SOAP RPC Router</display-name>
    <description>no description</description>
    <servlet-class>org.apache.soap.server.http.RPCRouterServlet</servlet-class>
    <init-param>
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
    </init-param>
  </servlet>
  
<!-- Servlet Name to URL Pattern Recognition Mapping -->
 <servlet-mapping>
    <servlet-name>candeLoad</servlet-name>
    <url-pattern>/candeLoad</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>rpcrouter</servlet-name>
    <url-pattern>/rpcrouter</url-pattern>
  </servlet-mapping>

=====
Jon Bricker

"You should never settle for the lesser of two Weasels."

__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

Reply via email to