
Originally Posted by
robh
This looks like a configuration issue. The QName class encapsulates a full XML name with local part and namespace part. Perhaps there are differences between the way the XML parser in JDK 5.0 handles these. Can you post your Spring config and your wsdd file?
Also have you tried this in Tomcat 5.5 just to see if it works there?
Rob
Thanks for the response Rob. I did a little more research and it seems that the version of JAXB that ships with JDK 1.5 does not allow you to construct QName's when the local part is null (instead it throws the IllegalArgumentException that I am getting). It seems doing something incorrect with my namespaces.
I'm actually consuming a .NET web service, so there is a not a WSDD file. I'm generating the client stub's using WSDL2Java. Here's the definitions portion of the WSDL:
Code:
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://CrashReports.IN.Gov/eServices" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://CrashReports.IN.Gov/eServices" xmlns="http://schemas.xmlsoap.org/wsdl/">
...
</definitions>
And the task:
Code:
<ant:taskdef name="axis-wsdl2java" classname="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask" classpathref="maven.dependency.classpath" />
<ant:axis-wsdl2java url="${crash.service.url}?wsdl"
output="${basedir}/src"
all="true"
debug="false"
helpergen="true"
verbose="true"
testCase="true">
<mapping namespace="http://CrashReports.IN.Gov/eServices" package="ai.isp.crash.client" />
</ant:axis-wsdl2java>
Here's my Spring configuration:
Code:
<bean id="loginServiceLocator" class="ai.isp.crash.client.ELoginLocator" />
<bean id="loginServiceLookup" class="org.springframework.remoting.jaxrpc.JaxRpcPortProxyFactoryBean">
<property name="jaxRpcService">
<ref bean="loginServiceLocator" />
</property>
<property name="portName">
<value>loginServiceLookup</value>
</property>
<property name="portInterface">
<value>ai.isp.crash.client.ELoginSoap</value>
</property>
<property name="serviceInterface">
<value>ai.isp.crash.dao.LoginServiceDAO</value>
</property>
</bean>
I appreciate the help.