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 Anting Xu <an...@hotmail.com> on 2001/05/23 15:53:51 UTC

VB client to apache invoking EJB error

Hi:

I have got a VB client talking with Apache Server (invoking a class method) 
based on the demos provided in this mailing list, I am trying to set up the 
VB client invoking a EJB of the apache server(similar to the ejb example 
provided by apache, but vb to apache instead of apache to apache). VB client 
request has encoding style in the soap envelop section which works well with 
directly invoking a class method, but will cause this error from the 
StatelessEJBProvider if directly invoking a EJB. Apache client request has 
the encoding style in the soap body and this works well with the 
StatelessEJBProvider.

Is this a problem(bug) with the StatelessEJBProvider mechanism? or I am 
missing something here?

Any feedback will be appreciated.

---------------------------
VBClient
---------------------------
Soap Fault:

[SOAP-ENV:Server]

java.lang.IllegalArgumentException: No Serializer found to serialize a 
'org.apache.soap.rpc.Parameter' using encoding style 'null'.

<detail>

<stackTrace>[SOAPException: faultCode=SOAP-ENV:Server; 
msg=java.lang.IllegalArgumentException: No Serializer found to serialize a 
'org.apache.soap.rpc.Parameter' using encoding style 'null'.]

	at 
org.apache.soap.providers.StatelessEJBProvider.invoke(StatelessEJBProvider.java:205)

	at 
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:267)

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

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

	at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:106)

	at 
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:907)

	at 
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:851)

	at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletCo

Here is the tcp tunnel trace of the request from VB client where you can see 
the encodingStyle is in the envelop(and this is probably the reason causing 
the StatelessEJBProvider to fail ?):
******************************************************
POST /soap/servlet/rpcrouter/ HTTP/1.1

Content-Type: text/xml

Host: localhost

SOAPAction: "urn:ejbhello"

Content-Length: 303


<?xml version="1.0" encoding="UTF-8" standalone="no"?><SOAP-ENV:Envelope 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><m:hello 
xmlns:m="urn:ejbhello"><s>what</s></m:hello></SOAP-ENV:Body></SOAP-ENV:Envelope>
******************************************************

Here is the tcp tunnel trace sent from the apache client to invoke EJB where 
you can see the encoding style is in the soap body.( and this works with the 
StatelessEJBProvider)

**************************************************
POST /soap/servlet/rpcrouter HTTP/1.0

Host: localhost:8080

Content-Type: text/xml; charset=utf-8

Content-Length: 449

SOAPAction: ""


<?xml version='1.0' encoding='UTF-8'?>

<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<SOAP-ENV:Body>

<ns1:hello xmlns:ns1="urn:ejbhello" 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<symbol xsi:type="xsd:string">test ejb xujian</symbol>

</ns1:hello>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>
***************************************************************
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org