You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by "Nilesh Kumar, Koratpallikar" <ni...@tanning.com> on 2002/04/30 15:06:48 UTC

How to make an EJB comp into a web service?

Hello,

I am using Apache SOAP 2.2 
I was trying to deploy an existing stateless session bean into a web
service.

1]	I deployed the existing stateless session bean into weblogic
2]	Wrote a SOAP RPC client to access one of the methods from the
session bean
3]	Added a deployment desc. for the session bean from Apache SOAP, web
service admin UI
	3.1]	Made the "Provider Type"= User-defined
	3.2]	Made the "Provider
class"=org.apache.soap.providers.StatelessEJBProvider
	3.3] 	Made the soap mapping reg. class=
org.apache.soap.encoding.SOAPMappingRegistry 

I also gave the class of the Session bean in the appropriate class.

My input parameter are just Strings. So there was no need for custom
mapping.

When I run my client I get an error message like:

URL::http://localhost:7001/soap/servlet/rpcrouter
Caught SOAPException (SOAP-ENV:Client): A
'http://schemas.xmlsoap.orgo/envelope/:Fault' element must contain a:
'faultcode' element.

Can somebody tell me whether the procedure I have followed is correct or not
?

thanx


-----Original Message-----
From: William Brogden [mailto:wbrogden@bga.com]
Sent: Wednesday, January 09, 2002 8:22 PM
To: soap-dev@xml.apache.org
Subject: RE: SOAP-Env:Client


The TcpTunnel or UtilSnoop programs capture the text of
a complete exchange of messages between HTTP client and
SOAP service. Since you got a SOAP-Env:Client fault, it
looks like your client's message was ill-formed.

Instructions are included in the UtilSnoop download.

> -----Original Message-----
> From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com] 
> Sent: Wednesday, January 09, 2002 8:31 AM
> To: soap-dev@xml.apache.org
> Subject: RE: SOAP-Env:Client
> 
> 
>   Hi,
> thanks for your answer but I'm bad at SOAP. How can I 
> use TCPTunnel or your UtilSnoop program. Can these for
> specifying the actual message?
>    Thanks& Regards
>     Didem Kuzucu
>  
> --- William Brogden <wb...@bga.com> wrote:
> > 
> > 
> > > -----Original Message-----
> > > From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com] 
> > > Sent: Wednesday, January 09, 2002 6:16 AM
> > > To: soap-dev@xml.apache.org
> > > Subject: SOAP-Env:Client
> > > 
> > > 
> > >   Hi,
> > > when I try to run my SOAP client, I get the
> > message
> > >    Soap Exception
> > >     Fault Code : SOAP-Env:Client
> > >     Fault Message : 3608
> > >  Can anybody help me, please? 
> > > 
> > > Note : I tried my SOAP server from another SOAP
> > > client, it works. 
> > 
> > 
> > One approach would be to take a look at the actual
> > message as transmitted. Sometimes the problem is 
> > pretty obvious. You can download my "UtilSnoop"
> > program from:
> > 
> > http://www.lanw.com/books/javasoap/default.htm
> > 
> > Or use the TcpTunnel utility that comes with
> > SOAP 2.2
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Send FREE video emails in Yahoo! Mail!
> http://promo.yahoo.com/videomail/
> 


Re: How to make an EJB comp into a web service?

Posted by Scott Nichol <sn...@scottnichol.com>.
I do not have direct experience with WebLogic, but have used JBoss (cf.
http://www.scottnichol.com/apachesoapjboss.htm).  I have not used the admin UI,
so I do not know where to specify some of the parameters for the Stateless EJB
Provider.  The deployment descriptor I used is

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

As you may infer, it is necessary to specify 4 things about the bean and/or
container: the name for JNDI lookukps,
the home interface, the URL for the naming context provider and the naming
context factory.  The values are for JBoss
and a test bean.

As for the particular error message you received, I am not certain, but it
reminds me of messages others received
when using an unsupported (because of bugs) version of Xerces.  I believe it is
version 1.3.1 that is not supported.
If you are using that version, I recommend trying another version.

Scott Nichol

----- Original Message -----
From: "Nilesh Kumar, Koratpallikar" <ni...@tanning.com>
To: <so...@xml.apache.org>
Sent: Tuesday, April 30, 2002 9:06 AM
Subject: How to make an EJB comp into a web service?


> Hello,
>
> I am using Apache SOAP 2.2
> I was trying to deploy an existing stateless session bean into a web
> service.
>
> 1] I deployed the existing stateless session bean into weblogic
> 2] Wrote a SOAP RPC client to access one of the methods from the
> session bean
> 3] Added a deployment desc. for the session bean from Apache SOAP, web
> service admin UI
> 3.1] Made the "Provider Type"= User-defined
> 3.2] Made the "Provider
> class"=org.apache.soap.providers.StatelessEJBProvider
> 3.3] Made the soap mapping reg. class=
> org.apache.soap.encoding.SOAPMappingRegistry
>
> I also gave the class of the Session bean in the appropriate class.
>
> My input parameter are just Strings. So there was no need for custom
> mapping.
>
> When I run my client I get an error message like:
>
> URL::http://localhost:7001/soap/servlet/rpcrouter
> Caught SOAPException (SOAP-ENV:Client): A
> 'http://schemas.xmlsoap.orgo/envelope/:Fault' element must contain a:
> 'faultcode' element.
>
> Can somebody tell me whether the procedure I have followed is correct or not
> ?
>
> thanx
>
>
> -----Original Message-----
> From: William Brogden [mailto:wbrogden@bga.com]
> Sent: Wednesday, January 09, 2002 8:22 PM
> To: soap-dev@xml.apache.org
> Subject: RE: SOAP-Env:Client
>
>
> The TcpTunnel or UtilSnoop programs capture the text of
> a complete exchange of messages between HTTP client and
> SOAP service. Since you got a SOAP-Env:Client fault, it
> looks like your client's message was ill-formed.
>
> Instructions are included in the UtilSnoop download.
>
> > -----Original Message-----
> > From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com]
> > Sent: Wednesday, January 09, 2002 8:31 AM
> > To: soap-dev@xml.apache.org
> > Subject: RE: SOAP-Env:Client
> >
> >
> >   Hi,
> > thanks for your answer but I'm bad at SOAP. How can I
> > use TCPTunnel or your UtilSnoop program. Can these for
> > specifying the actual message?
> >    Thanks& Regards
> >     Didem Kuzucu
> >
> > --- William Brogden <wb...@bga.com> wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com]
> > > > Sent: Wednesday, January 09, 2002 6:16 AM
> > > > To: soap-dev@xml.apache.org
> > > > Subject: SOAP-Env:Client
> > > >
> > > >
> > > >   Hi,
> > > > when I try to run my SOAP client, I get the
> > > message
> > > >    Soap Exception
> > > >     Fault Code : SOAP-Env:Client
> > > >     Fault Message : 3608
> > > >  Can anybody help me, please?
> > > >
> > > > Note : I tried my SOAP server from another SOAP
> > > > client, it works.
> > >
> > >
> > > One approach would be to take a look at the actual
> > > message as transmitted. Sometimes the problem is
> > > pretty obvious. You can download my "UtilSnoop"
> > > program from:
> > >
> > > http://www.lanw.com/books/javasoap/default.htm
> > >
> > > Or use the TcpTunnel utility that comes with
> > > SOAP 2.2
> > >
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Send FREE video emails in Yahoo! Mail!
> > http://promo.yahoo.com/videomail/
> >
>
>


Re: How to make an EJB comp into a web service?

Posted by Scott Nichol <sn...@scottnichol.com>.
I do not have direct experience with WebLogic, but have used JBoss (cf.
http://www.scottnichol.com/apachesoapjboss.htm).  I have not used the admin UI,
so I do not know where to specify some of the parameters for the Stateless EJB
Provider.  The deployment descriptor I used is

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

As you may infer, it is necessary to specify 4 things about the bean and/or
container: the name for JNDI lookukps,
the home interface, the URL for the naming context provider and the naming
context factory.  The values are for JBoss
and a test bean.

As for the particular error message you received, I am not certain, but it
reminds me of messages others received
when using an unsupported (because of bugs) version of Xerces.  I believe it is
version 1.3.1 that is not supported.
If you are using that version, I recommend trying another version.

Scott Nichol

----- Original Message -----
From: "Nilesh Kumar, Koratpallikar" <ni...@tanning.com>
To: <so...@xml.apache.org>
Sent: Tuesday, April 30, 2002 9:06 AM
Subject: How to make an EJB comp into a web service?


> Hello,
>
> I am using Apache SOAP 2.2
> I was trying to deploy an existing stateless session bean into a web
> service.
>
> 1] I deployed the existing stateless session bean into weblogic
> 2] Wrote a SOAP RPC client to access one of the methods from the
> session bean
> 3] Added a deployment desc. for the session bean from Apache SOAP, web
> service admin UI
> 3.1] Made the "Provider Type"= User-defined
> 3.2] Made the "Provider
> class"=org.apache.soap.providers.StatelessEJBProvider
> 3.3] Made the soap mapping reg. class=
> org.apache.soap.encoding.SOAPMappingRegistry
>
> I also gave the class of the Session bean in the appropriate class.
>
> My input parameter are just Strings. So there was no need for custom
> mapping.
>
> When I run my client I get an error message like:
>
> URL::http://localhost:7001/soap/servlet/rpcrouter
> Caught SOAPException (SOAP-ENV:Client): A
> 'http://schemas.xmlsoap.orgo/envelope/:Fault' element must contain a:
> 'faultcode' element.
>
> Can somebody tell me whether the procedure I have followed is correct or not
> ?
>
> thanx
>
>
> -----Original Message-----
> From: William Brogden [mailto:wbrogden@bga.com]
> Sent: Wednesday, January 09, 2002 8:22 PM
> To: soap-dev@xml.apache.org
> Subject: RE: SOAP-Env:Client
>
>
> The TcpTunnel or UtilSnoop programs capture the text of
> a complete exchange of messages between HTTP client and
> SOAP service. Since you got a SOAP-Env:Client fault, it
> looks like your client's message was ill-formed.
>
> Instructions are included in the UtilSnoop download.
>
> > -----Original Message-----
> > From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com]
> > Sent: Wednesday, January 09, 2002 8:31 AM
> > To: soap-dev@xml.apache.org
> > Subject: RE: SOAP-Env:Client
> >
> >
> >   Hi,
> > thanks for your answer but I'm bad at SOAP. How can I
> > use TCPTunnel or your UtilSnoop program. Can these for
> > specifying the actual message?
> >    Thanks& Regards
> >     Didem Kuzucu
> >
> > --- William Brogden <wb...@bga.com> wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Didem Kuzucu [mailto:didemkuzucu@yahoo.com]
> > > > Sent: Wednesday, January 09, 2002 6:16 AM
> > > > To: soap-dev@xml.apache.org
> > > > Subject: SOAP-Env:Client
> > > >
> > > >
> > > >   Hi,
> > > > when I try to run my SOAP client, I get the
> > > message
> > > >    Soap Exception
> > > >     Fault Code : SOAP-Env:Client
> > > >     Fault Message : 3608
> > > >  Can anybody help me, please?
> > > >
> > > > Note : I tried my SOAP server from another SOAP
> > > > client, it works.
> > >
> > >
> > > One approach would be to take a look at the actual
> > > message as transmitted. Sometimes the problem is
> > > pretty obvious. You can download my "UtilSnoop"
> > > program from:
> > >
> > > http://www.lanw.com/books/javasoap/default.htm
> > >
> > > Or use the TcpTunnel utility that comes with
> > > SOAP 2.2
> > >
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Send FREE video emails in Yahoo! Mail!
> > http://promo.yahoo.com/videomail/
> >
>
>