I am calling an Axis/Tomcat web service with a JAX-WS client proxy generated by wsconsume
(from JBossWs 2.0.1 GA) run against our hand-coded WSDL file. When we execute the client,
the constructor of the xxxService class is obtaining the WSDL from the Web service (via
the ?WSDL command) and performing a dynamic element binding at run-time (at least we think
that?s what happening).
The problem is that the Axis Web service is returning a WSDL with syntax errors and
outright mistakes. This isn?t a problem with a client proxy generated by the Axis
WSDL2Java from the hand-coded WSDL. The WSDL2Java client classes are statically bound and
do not access the service?s WSDL at run time. WSDL2Java-generated clients have been in
production for more than a year without any difficulty. The wsconsume-generated client
throws an exception and terminates when it encounters the first error in the WSDL
generated by the Axis run-time ? I never get out of the constructor of the xxxService
class.
Yet wsconsume had no difficulty digesting the hand-coded WSDL. We?ve studied the WSDL for
a very long time now, and do not believe there is an error in its design. Indeed, the fact
that it works with WSDL2Java-generated clients shows that the WSDL is designed properly.
We are convinced that the AXIS Web Service run-time is making an error generating the WSDL
on demand.
Can I easily override the Service class?s retrieval of the WSDL from the Web service and
point it instead at a local copy of the WSDL file? In out environment, every caller of the
Web service also implements their own Web service with the identical interface, so we can
enforce a rule that they have a copy local of the valid WSDL file.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4101985#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...