[jboss-user] [JBossWS] - org.jboss.ws.WSException: arg0 is not a valid property on cl

maffeis do-not-reply at jboss.com
Tue Apr 8 03:38:09 EDT 2008


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.NewOperation
  | 	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;
  |     }
  | }
  | 

web.xml configuration:


  |       <servlet>
  |         <servlet-name>MyTest</servlet-name>     
  | <servlet-class>com.vipera.ts.server.ws.MyTestWebService</servlet-class>
  |       </servlet>
  | 
  |       <servlet-mapping>
  |         <servlet-name>MyTest</servlet-name>
  |         <url-pattern>/mt</url-pattern>
  |       </servlet-mapping>
  | 

Workaround: In the WSDL, rename "in" to "arg0" and "out" to "return", but I'd rather like to avoid that.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4142264#4142264

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4142264



More information about the jboss-user mailing list