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 Ed Korthof <ed...@apache.org> on 2000/06/06 10:18:44 UTC

"No Deserializer found ..." problems/looking for source code

Hi --

I'd post this to the users list, but it seems inactive.

I'm trying to test out SOAP for a project I'm considering using it on.
So I've set up Tomcat 3.1, downloaded the most recent xerces and (i
think) all the other requirements for the addressbook demo.  I'm able to
use the soap manager servlet, to list deployed services, to deploy the
addressbook service, and to undeploy it.

However, when I try to operate through the command line, I get nothing 
but trouble.  I've tried TCP Tunnel/Monitor, and it helped me reach this
point -- but it's not giving me much more useful information, nor are
the logs.

I tried this with IBM's distribution, and then with the distribution from
xml.apache.org.  I've yet to get either of them to work, though I got a
bit farther with IBM's.  I can't use the web based deploy .jsp w/ the
distribution from xml.apache.org -- I get the following error in my
tomcat.log:

*****
ed@ambient:~/jakarta/build/tomcat > tail -20 logs/tomcat.log 
org.apache.jasper.JasperException: Unable to compile .../_0002fdeploy_0002ejspdeploy_jsp_0.java:148: No variable NS_URI_BML_ENC defined in class org.apache.soap.Constants.
                       org.apache.soap.Constants.NS_URI_BML_ENC};
                                                ^
1 error

        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:247)
        at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:413)
[snip]
*****

I used javap on the soap.jar which comes with this distribution; it
has an org.apache.soap.Constants class which is, in fact, missing that
constant:

*****
ed@ambient:~/jakarta/xml-soap/webapps > javap  -classpath /home/ed/lib/soap.jar org.apache.soap.Constants | grep BML

ed@ambient:~/jakarta/xml-soap/webapps > javap -classpath /home/ed/lib/IBM-SOAP.jar com.ibm.soap.Constants | grep BML
    public static java.lang.String NS_URI_BML_ENC;
ed@ambient:~/jakarta/xml-soap/webapps > 
*****

Anyway, on account of that error (and the fact that I can't find a
distribution on xml.apache.org which includes source, so I can't fix it
myself), much of this message concerns the IBM version.  It's almost the
same -- and I'm seeing the same sort of errors, so hopefully the same
solution will apply.  

Of course, if someone can direct me to a distribution which includes
source code, that'd also make me happy. ;-)  I have shell access to
apache.org, so it is possible (though a PITA) for me to get the source
... but I'd rather have a snapshot from some point when the code was
stable, and it'd be good if those w/o shell access on apache.org could
get the source too.

First, here's my classpath:

/home/ed/lib/xerces.jar:/home/ed/lib/parser.jar: 
	/home/ed/lib/jaxp.jar:/home/ed/lib/ant.jar:
	/home/ed/lib/servlet.jar:/home/ed/lib/servlet.jar:
        /home/ed/lib/xerces.jar:/home/ed/lib/IBM-SOAP.jar:
        /home/ed/lib/pop3.jar:/home/ed/lib/smtp.jar:
        /home/ed/lib/xmisoap.jar:/home/ed/jakarta/IBM-SOAP-1.2

The errors which I'm getting all relate to serialization.  This
application uses just the default SOAP serializer, but clearly something
is going wrong ...

Anyway, more detailed debugging information follows.

When I try to deploy the addressbook demo from the command line, here's
the error I see:

*****
ed@ambient:~/jakarta/xml-soap/lib > java  \
        com.ibm.soap.server.ServiceManagerClient  \
        http://localhost:8081/ibm-soap/rpcrouter.jsp  \
        deploy  \
        ~/jakarta/IBM-SOAP-1.2/demos/addressbook/DeploymentDescriptor.xml 
Ouch, the call failed: 
  Fault Code   = SOAP-ENV:Client
  Fault String = No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.
ed@ambient:~/jakarta/xml-soap/lib > 
*****

TCP Tunnel/Monitor shows the following: 

*****
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>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.</faultstring>
<faultactor>/ibm-soap/rpcrouter.jsp</faultactor>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
*****

And the error logs don't give me any useful information.

I get the same results whether or not this has been deployed using the
web interface.

Since I can deploy this through the web interface, I also tried using
the addressbook demo as per its instructions.  I tried with the encoding
style omitted, and with it specified as '-SOAP':

*****
ed@ambient:~/jakarta/xml-soap/lib > java demos.addressbook.GetAddress http://localhost:8081/ibm-soap/rpcrouter.jsp "John B. Good"
Generated fault: 
  Fault Code   = SOAP-ENV:Client
  Fault String = No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.
ed@ambient:~/jakarta/xml-soap/lib > java demos.addressbook.GetAddress -SOAP http://localhost:8081/ibm-soap/rpcrouter.jsp "John B. Good"
Caught SOAPException (SOAP-ENV:Client): No Serializer found to serialize a 'com.ibm.soap.rpc.Parameter' using encoding style 'SOAP'.
ed@ambient:~/jakarta/xml-soap/lib > 
*****

In the former case, it does make a connection; here's what TCP Tunnel
shows:

*****
<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>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.</faultstring>
<faultactor>/ibm-soap/rpcrouter.jsp</faultactor>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
*****

Finally, I tried using list, to see what's currently available --
strangely enough, this fails with a different error from when I tried to
deploy the service through the command line tool.

This sample is from the testing which I did w/ the distribution from
xml.apache.org, so the class names are slightly different ... it's from
before the service has been deployed (though the error is the same
afterwards, at least w/ the IBM distribution, with which I can do
deployment).  Here's what I get at the command line:

*****
ed@ambient:~/jakarta/xml-soap > java org.apache.soap.server.ServiceManagerClient http://localhost:8081/xml-soap/rpcrouter.jsp list
Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.; targetException=java.lang.IllegalArgumentException: No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/envelope/:Parameter' using encoding style 'null'.]
        at org.apache.soap.rpc.Call.invoke(Call.java:181)
        at org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClient.java:108)
        at org.apache.soap.server.ServiceManagerClient.list(ServiceManagerClient.java:130)
        at org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:193)
*****

And here's what TCP Tunnel/Monitor shows:

*****
<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:listResponse xmlns:ns1="urn:ibm-soap-service-management-service"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Array" ns2:arrayType="xsd:string[0]">
</return>
</ns1:listResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
*****

I haven't modified DeploymentDescriptor.xml from the distribution.

Any suggestions would be appreciated.

thanks --

Ed





Re: "No Deserializer found ..." problems/looking for source code

Posted by James Duncan Davidson <ja...@eng.sun.com>.
on 6/6/00 1:56 AM, Ed Korthof at ed@apache.org wrote:

> After bugging brian and manoj, I discovered that I can get check out stuff
> via anoncvs from www.apache.org:/home/cvspublic (the instructions on
> dev.apache.org were out of date wrt this).  But I do think it'd be useful
> to publish this somewhere on xml.apache.org ...

I know that we documented this on jakarta.apache.org and since the
xml.apache.org docs started out as a "borrow", I would have thought that
would be in there. 

.duncan


Re: "No Deserializer found ..." problems/looking for source code

Posted by James Duncan Davidson <ja...@eng.sun.com>.
on 6/6/00 1:56 AM, Ed Korthof at ed@apache.org wrote:

> Ed, having much less difficulty with RMI (too bad it's language specific)

Actually, that brings up something I'd like to see -- make this whole thing
as easy to use, if not easier than RMI. It would be nice to have a set of
utility classes to do this... Just thinking aloud for now.

.duncan


Re: "No Deserializer found ..." problems/looking for source code

Posted by James Duncan Davidson <ja...@eng.sun.com>.
on 6/6/00 1:56 AM, Ed Korthof at ed@apache.org wrote:

> Ed, having much less difficulty with RMI (too bad it's language specific)

Actually, that brings up something I'd like to see -- make this whole thing
as easy to use, if not easier than RMI. It would be nice to have a set of
utility classes to do this... Just thinking aloud for now.

.duncan


Re: "No Deserializer found ..." problems/looking for source code

Posted by James Duncan Davidson <ja...@eng.sun.com>.
on 6/6/00 1:56 AM, Ed Korthof at ed@apache.org wrote:

> After bugging brian and manoj, I discovered that I can get check out stuff
> via anoncvs from www.apache.org:/home/cvspublic (the instructions on
> dev.apache.org were out of date wrt this).  But I do think it'd be useful
> to publish this somewhere on xml.apache.org ...

I know that we documented this on jakarta.apache.org and since the
xml.apache.org docs started out as a "borrow", I would have thought that
would be in there. 

.duncan


Re: "No Deserializer found ..." problems/looking for source code

Posted by Ed Korthof <ed...@apache.org>.
On Tue, 6 Jun 2000, Ed Korthof wrote:

> Of course, if someone can direct me to a distribution which includes
> source code, that'd also make me happy. ;-)  I have shell access to
> apache.org, so it is possible (though a PITA) for me to get the source
> ... but I'd rather have a snapshot from some point when the code was
> stable, and it'd be good if those w/o shell access on apache.org could
> get the source too.

After bugging brian and manoj, I discovered that I can get check out stuff
via anoncvs from www.apache.org:/home/cvspublic (the instructions on
dev.apache.org were out of date wrt this).  But I do think it'd be useful
to publish this somewhere on xml.apache.org ...

thanks --

Ed, having much less difficulty with RMI (too bad it's language specific)


Re: "No Deserializer found ..." problems/looking for source code

Posted by Ed Korthof <ed...@apache.org>.
On Tue, 6 Jun 2000, Ed Korthof wrote:

> Of course, if someone can direct me to a distribution which includes
> source code, that'd also make me happy. ;-)  I have shell access to
> apache.org, so it is possible (though a PITA) for me to get the source
> ... but I'd rather have a snapshot from some point when the code was
> stable, and it'd be good if those w/o shell access on apache.org could
> get the source too.

After bugging brian and manoj, I discovered that I can get check out stuff
via anoncvs from www.apache.org:/home/cvspublic (the instructions on
dev.apache.org were out of date wrt this).  But I do think it'd be useful
to publish this somewhere on xml.apache.org ...

thanks --

Ed, having much less difficulty with RMI (too bad it's language specific)