Illegal argument passed to ParameterDesc.setJavaType. The j
kerry_bellerose Oct 31, 2004 11:41 AMHello,
I've just started using JBoss 4.0 and Axis 1.1 to create Web Services
from an existing wsdl file.
I've been able to get a couple of simple "Hello World" style services
up and running, so I know that JBoss is configured and running
correctly.
When I try to generate an application from the start point of the wsdl
at the bottom of this message, I get the following exception when I
view my services:
Exception - java.lang.IllegalArgumentException: Illegal argument passed to ParameterDesc.setJavaType. The java type double does not match the mode inout
I can reproduce this in any wsdl generated application by including
an operation that specifies both input and output parameters, as in
the following PortType configuration:
<wsdl:portType name="MathService">
<wsdl:operation name="addRequest">
<wsdl:input message="tns:addRequest" name="addRequest"/>
<wsdl:output message="tns:addResponse" name="addResponse"/>
</wsdl:operation>
</wsdl:portType>
This is true whether the parameters are complex or simple datatypes.
I've spent several days checking and rechecking the net to find
clues as to why this might be happening, but I've reached my
ropes end.
Can any one offer any suggestions or pointers?
Thanks!
Kerry Bellerose
kerry.bellerose@nexus-dk.com
---- Complete sample wsdl file -----
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://MathTest"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://MathTest"
xmlns:type="http://MathTest"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema targetNamespace="http://MathTest" xmlns:tns="http://MathTest">
<xsd:complexType name="AddType">
<xsd:sequence>
<xsd:element name="d1" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AddResponseType">
<xsd:sequence>
<xsd:element name="addReturn" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="addRequest" type="tns:AddType"/>
<xsd:element name="addResponse" type="tns:AddResponseType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="addResponse">
<wsdl:part element="type:addResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="addRequest">
<wsdl:part element="type:addRequest" name="parameters"/>
</wsdl:message>
<wsdl:portType name="MathService">
<wsdl:operation name="addRequest">
<wsdl:input message="tns:addRequest" name="addRequest"/>
<wsdl:output message="tns:addResponse" name="addResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MathServiceSoapBinding" type="tns:MathService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="addRequest">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="addRequest">
<wsdlsoap:body namespace="http://localhost:8080/ws4ee/services/MathService" use="literal"/>
</wsdl:input>
<wsdl:output name="addResponse">
<wsdlsoap:body namespace="http://localhost:8080/ws4ee/services/MathService" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MathService">
<wsdl:port binding="tns:MathServiceSoapBinding" name="MathService">
<wsdlsoap:address location="http://localhost:8080/ws4ee/services/MathService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>