You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by "Cook, Martin" <mc...@Oneok.com> on 2001/08/27 18:47:22 UTC

calling stateless EJB via SOAP

I am attempting to use Apache ver 2.2 SOAP to call a stateless EJB deployed
in JBOSS ver 2.2.2. The error I get back from Apache is:

  Fault Code   = SOAP-ENV:Server
  Fault String = Error in connecting to EJB

The JBOSS log shows this:

  [EmbeddedTomcatSX] In TemplateProvider.locate() 
  [EmbeddedTomcatSX] URI: urn:getAddressTypes
  [EmbeddedTomcatSX] DD.ServiceClass:
org.apache.soap.providers.StatelessEJBProvider
  [EmbeddedTomcatSX] DD.ProviderClass: null
  [EmbeddedTomcatSX] Call.MethodName: getXML
  [EmbeddedTomcatSX] Exception caught: javax.naming.CommunicationException
[Root exception is java.lang.ClassNot
  FoundException: oneok.ocms.bll.getAddressTypesHome]


My client code is roughly:

  URL urlRouter = new URL ("http://localhost:8080/soap/servlet/rpcrouter");

  Call call = new Call ();
  call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
  call.setTargetObjectURI ("urn:getAddressTypes");
  call.setMethodName ("getXML");
  Response resp = call.invoke(urlRouter, "");


My SOAP deployment descriptor is:

  <?xml version="1.0"?>
  <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
             id="urn:getAddressTypes">
    <isd:provider type="org.apache.soap.providers.StatelessEJBProvider"
                scope="Application"
                methods="create">
      <isd:option key="JNDIName" value="ejb/bll/getAddressTypes"/>
      <isd:option key="FullHomeInterfaceName"
value="oneok.ocms.bll.getAddressTypesHome" />
      <isd:option key="ContextProviderURL" value="jnp://localhost:1099" />
      <isd:option key="FullContextFactoryName"
value="org.jnp.interfaces.NamingContextFactory" />
    </isd:provider>
 
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene
r>
  </isd:service>


My EJB works with "traditional" java clients, just not with the SOAP client.

I haven't noticed any other problems with my Apache or JBOSS installations,
and yes, I do have the xerces.jar file listed first in my classpath...

I even tried adding the jar file for my EJB to the classpath, and
restarting, but that didn't help either!

Does anyone have any ideas?