During the soap web service development by axis 1, we met the issue for incompitable interface.
http://blog.csdn.net/pier2008/archive/2005/12/04/543365.aspx
http://hi.baidu.com/fytcm/blog/item/597f4fd345dfb9043bf3cff8.html
http://www.ibm.com/developerworks/webservices/library/ws-javaclient/index.html
In a word, web Services can be invoked in three different ways
1. Using Generated Stub
2. Using Dynamic Proxies
3. Using Dynamic Invocation Interface (DII)
In Generated Stub, client depends on generated interfaces of
service (last block in WSDL) and portType (business definition), and
their implemented stub & proxy classes. The code need to create the
specific service from generated stub, and get its specific portType
object from it. Then call business method
In Dynamic Invocation Interface, client does not care about the
generated service stub, but creates the framework “Service” object by
passing the actual service name. From the framework Service object, the
client gets the generated portType object by passing the portType name.
Then call the business method on the portType object
In Dynamic Invocation Interface (DII), the client does not use any
generated class. It creates a Service object, and creates a Call object
out of it. To the call object, client sets the name of Service, name of
portType and invoke it by passing an Object array of parameters.
In short, Generated Stub uses all generated classes
Dynamic Proxy uses only generated portType
DII does not use any generated classes