And I'll vouch for the fact that it works with stateless session EJBs on
WebLogic.  I don't want to sound like a broken record but this really
does look like a classpath problem.
Gerry

-----Original Message-----
From: Jared P Jurkiewicz [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, August 29, 2001 10:51 AM
To: [EMAIL PROTECTED]
Subject: Re: calling stateless EJB via SOAP


I have most certainly got the EJB working through SOAP, just not JBOSS,
sorry. :)

-- Jared

"Cook, Martin" <[EMAIL PROTECTED]> on 08/29/2001 12:23:57 PM

Please respond to [EMAIL PROTECTED]

To:   "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
cc:
Subject:  Re: calling stateless EJB via SOAP


Thanks for taking the time to reply, Jared. I added my EJB jar file to
the
classpath, but it doesn't seem to make any difference. I do agree with
you,
in that I also believe that my problem is related to a classpath issue,
but
I'm not sure how to proceed.

Has anyone out there managed to get Apache to serve up an EJB through
SOAP?
Specifically, and EJB running on JBOSS?

-----Original Message-----
From: Jared P Jurkiewicz [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 28, 2001 11:36 AM
To: [EMAIL PROTECTED]
Subject: Re: calling stateless EJB via SOAP


The classpath that SOAP is on doesn't contain the EJB classes, so it's
not
finding the home interface class to load and invoke.  You need to add
your
EJB jar to the classpaht SAOP sees, I believe.

-- Jared


"Cook, Martin" <[EMAIL PROTECTED]> on 08/28/2001 11:51:51 AM

Please respond to [EMAIL PROTECTED]

To:   "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
cc:
Subject:  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:faultLis
tene


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
restarted everything, but that didn't help either!

Does anyone have any ideas?









Reply via email to