]
Silvano Maffeis commented on JBWS-2154:
---------------------------------------
Actually this turns out to be my problem and not a bug. What I had to do was to annotate
each parameter in my web service implementation class with
@WebParam(name="xyz"),
where xyz corresponds to the element name used in the WSDL type declaration. Still a hint
in the documentation and examples would be good as many developers seem to have hit
this issue.
org.jboss.ws.WSException: arg0 is not a valid property on class ...
--------------------------------------------------------------------
Key: JBWS-2154
URL:
http://jira.jboss.com/jira/browse/JBWS-2154
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.1
Environment: JDK 1.6_05, Windows XP
Reporter: Silvano Maffeis
Priority: Minor
I'm getting the following error in deploying a simple document/literal
web service with jbossws-3.0.1-native-2.0.4.GA on jboss 4.2.2.GA.
org.jboss.ws.WSException: arg0 is not a valid property on class ...
Full stack trace:
09:22:41,781 ERROR [MainDeployer] Could not start deployment:
file:/C:/dev/tools/j2ee/jboss-4.2.2.GA
/server/viperats/deploy/mobank-server-core.war
org.jboss.ws.WSException: arg0 is not a valid property on class
com.vipera.ts.server.ws.jaxws.NewOpe
ration
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getElementPropertyAccessor(JAXBContextImpl.java:926)
at
org.jboss.ws.metadata.accessor.JAXBAccessorFactory.create(JAXBAccessorFactory.java:51)
at
org.jboss.ws.metadata.umdm.EndpointMetaData.createAccessor(EndpointMetaData.java:713)
at
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeAccessors(EndpointMetaData.java:694)
at
org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:567)
at
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:553)
at org.jboss.ws.metadata.umdm.ServiceMetaData.eagerInitialize(ServiceMetaData.java:435)
at org.jboss.ws.metadata.umdm.UnifiedMetaData.eagerInitialize(UnifiedMetaData.java:196)
at
org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect.create(EagerInitializeDeploymentAspect.
java:50)
This happens when the WAR holding the web service is deployed.
The WSDL (that's what you get when you create a document/literal WSDL using the
Eclipse wizard):
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.example.org/MyTest/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MyTest"
targetNamespace="http://www.example.org/MyTest/">
<wsdl:types>
<xsd:schema
targetNamespace="http://www.example.org/MyTest/">
<xsd:element name="NewOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="NewOperationResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="NewOperationRequest">
<wsdl:part element="tns:NewOperation" name="parameters"/>
</wsdl:message>
<wsdl:message name="NewOperationResponse">
<wsdl:part element="tns:NewOperationResponse"
name="parameters"/>
</wsdl:message>
<wsdl:portType name="MyTest">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest"/>
<wsdl:output message="tns:NewOperationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MyTestSOAP" type="tns:MyTest">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="NewOperation">
<soap:operation
soapAction="http://www.example.org/MyTest/NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MyTest">
<wsdl:port binding="tns:MyTestSOAP" name="MyTestSOAP">
<soap:address
location="http://www.example.org/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
The WebService implementation:
@WebService(name = "MyTest", targetNamespace =
"http://www.example.org/MyTest/")
public class MyTestWebService implements MyTest {
public String newOperation(String in) {
return null;
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: