We are developing a webservice - under JBoss 4.0.2 - that must use some SOAP schemas.
We generated .java files, deploy.wsdd and undeploy.wsdd with JBoss Axis WSDL2Java.
All seems ok, but the responses that this webservice sends are slightly different from that we expected: the unexpected difference, in particular,
are some namespaces strings, just like in this example:
===Dump of a response from our webservice====
HTTP/1.1 200 OK
X-Powered-By: Servlet 2.4; JBoss-4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)/Tomcat-5.5
Date: Tue, 11 Oct 2005 14:20:07 GMT
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
The problem is that the client that receive these responses fails the parsing because doesn't recognize tags.
In the past we did generate code and wsdd files with Apache Axis from the same WSDL file, and next we deployed the servlet under Tomcat; under this
platform the "ns1:" string didn't compare, so we suspect that in the JBoss Axis implementation could be some kind of lack...
The java command line that we used to compile WSDL was:
java -cp axis-ws4ee.jar;jboss-common.jar;wsdl4j.jar;jboss-saaj.jar;jboss-jaxrpc.jar;namespace.jar;log4j.jar org.jboss.axis.wsdl.WSDL2Java -v -s -p com.nokia.sise.pocaap.proxy.rp50 RP50_WSDL_v00.wsdl
What happens? How can we remove there "ns1:"???
We recommend the use of wscompile from the JWSDP. The axis tools in our codebase are legacy and do not generate WS4EE compliant artifacts.