You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jignesh Dhruv <ji...@cnet.com> on 2005/01/26 19:52:29 UTC

Backward Compatibility Issue when WebServices Updated and client stubs are not updated.

Hi,

I am using Java2WSDL to generate a WSDL file and later am doing
WSDL2Java to generate Java stubs which I deliver to the clients. Later I
deploy the Axis WebService on the server side and the clients
communicate with this service using the stubs and WSDL file provided.
Everything works fine up to this point. 
Later I add a new property in one of my Java class and regenerate WSDL
file and client stubs using Java2WSDL and WSDL2Java. I deploy the
service on our side and deliver new stubs and WSDL file to clients. But
it so often happens that client does not update their WSDL file and
stubs and start getting following Exceptions:
-----------------------------------------------------------------
Jan 25, 2005 7:15:21 AM org.apache.axis.client.Call invoke
SEVERE: Exception:
org.xml.sax.SAXException: Invalid element in UserAccount - status
         at
org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeseriali
zer.java:260)
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:963) at .....................
-------------------------------

So questions I have are:
- Whenever I add a new property to one of the WebServices classes, can I
update the Service on the Server side without client updating their
stubs?
If yes then can you point me to the right direction?
If no then what is the best way to ensure backward compatibility?

Thanks,
Jignesh