« Searching for red thread... | Main | Converting SOAP to XML »
March 06, 2006
Reproduction of main problem with RPC
I installed Systinet Developer 6.0 Plugin for Eclipse. Installation is quite easy (note: just copy files to Eclipse directory, don't use Update Manager. This won't work).
Using the provided tutorial I developed a simple HelloWorld Web service. A Client using this service can be generated automatically. It took about 20 minutes to do this all, i.e. RPC-style Web service development with a plugin is quite easy.
Then I was able to reproduce the main problem of RPC-style communication:
I changed the server method from public String getMessage()
to public String getMessage(String option)
. I redeployed the classes but did not re-generate the client. This is what I got:
Exception in thread "main" java.lang.NullPointerException
at org.idoox.wasp.wsdl.SOAPMethodInfo._setSchemaElement(SOAPMethodInfo.java:376)
at org.idoox.wasp.wsdl.SOAPMethodInfo._setPart(SOAPMethodInfo.java:364)
at org.idoox.wasp.wsdl.SOAPMethodInfo.setCorrectSchema(SOAPMethodInfo.java:351)
at com.systinet.wasp.client.ClientProxy._invoke(ClientProxy.java:327)
at com.systinet.wasp.client.ClientProxy.invoke(ClientProxy.java:109)
at $Proxy63.getMessage(Unknown Source)
at hello.HelloWorldClient.main(HelloWorldClient.java:29)
Posted by Dominik Marks at March 6, 2006 09:48 AM
Comments
Cool.
Note, though, that there are changes where you expect things to break, and others where you don't. I an operation signature is changed, I somehow expect that this will not work. I think the case worth exploring is when attributes or elements are added to an existing document, or a new method is added.
Posted by: Stefan Tilkov at March 6, 2006 02:49 PM