Hallo In my wsdl file I have a type with enumerations. I have one operation that returns an instance of the type - This one is working fine. I then have another that take an instance of the type as argument and this one fails with the exception:
| 2007-01-11 16:09:03,253 WARN [org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://ws.facade.as2007.wmdata.com/jaws}CarType | 2007-01-11 16:09:03,253 WARN [org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://ws.facade.as2007.wmdata.com/jaws}getCar | 2007-01-11 16:09:03,253 WARN [org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://ws.facade.as2007.wmdata.com/jaws}getCarResponse | 2007-01-11 16:09:03,253 WARN [org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://ws.facade.as2007.wmdata.com/jaws}setCar | 2007-01-11 16:09:03,253 WARN [org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://ws.facade.as2007.wmdata.com/jaws}setCarResponse | 2007-01-11 16:09:03,253 WARN [org.jboss.ws.jaxb.SchemaBindingBuilder] Type definition not found in schema: {http://ws.facade.as2007.wmdata.com/jaws}CarType | 2007-01-11 16:09:03,253 WARN [org.jboss.ws.jaxb.SchemaBindingBuilder] Cannot obtain type binding for: {http://ws.facade.as2007.wmdata.com/jaws}CarType | 2007-01-11 16:09:03,253 ERROR[org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper] SOAP request exception | javax.xml.rpc.JAXRPCException: org.jboss.ws.binding.BindingException: javax.xml.bind.JAXBException: Failed to parse source: Failed to set value [EMAIL PROTECTED] using setter setColor on [EMAIL PROTECTED] (toString=com.wmdata.as2007.xml.jaxbbindings.CarTy | [EMAIL PROTECTED]) : argument type mismatch | - with linked exception: | [org.jboss.xb.binding.JBossXBException: Failed to parse source: Failed to set value [EMAIL PROTECTED] using setter setColor on [EMAIL PROTECTED] ([EMAIL PROTECTED]) : argument type mismatch] | at org.jboss.ws.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:307) | at org.jboss.ws.binding.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:233) | at org.jboss.ws.binding.EndpointInvocation.getRequestParamValue(EndpointInvocation.java:103) | at org.jboss.ws.binding.EndpointInvocation.getRequestPayload(EndpointInvocation.java:117) | at org.jboss.ws.server.ServiceEndpointInvokerEJB3.invokeServiceEndpoint(ServiceEndpointInvokerEJB3.java:106) | at org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:118) | at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:234) | at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) | at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) | at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) | at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) | at java.lang.Thread.run(Thread.java:595) | Caused by: org.jboss.ws.binding.BindingException: javax.xml.bind.JAXBException: Failed to parse source: Failed to set value [EMAIL PROTECTED] using setter setColor on [EMAIL PROTECTED] ([EMAIL PROTECTED]) : argumen | t type mismatch | | My wsdlfile (used the jboss autogenerated one and changed the types): | <definitions name='CarWSService' targetNamespace='http://ws.facade.as2007.wmdata.com/jaws' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://jaxbbindings.xml.as2007.wmdata.com/jaws' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws.facade.as2007.wmdata.com/jaws' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> | <types> | <schema elementFormDefault='qualified' targetNamespace='http://jaxbbindings.xml.as2007.wmdata.com/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://ws.facade.as2007.wmdata.com/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://jaxbbindings.xml.as2007.wmdata.com/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> | <import namespace='http://ws.facade.as2007.wmdata.com/jaws'/> | <simpleType name='CarColor'> | <restriction base='string'> | <enumeration value='red'/> | <enumeration value='green'/> | </restriction> | </simpleType> | <complexType name='CarType'> | <sequence> | <element maxOccurs='1' name='color' nillable='true' type='tns:CarColor'/> | </sequence> | </complexType> | </schema> | <schema elementFormDefault='qualified' targetNamespace='http://ws.facade.as2007.wmdata.com/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns2='http://jaxbbindings.xml.as2007.wmdata.com/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://ws.facade.as2007.wmdata.com/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> | <import namespace='http://jaxbbindings.xml.as2007.wmdata.com/jaws'/> | <complexType name='getCar'> | <sequence/> | </complexType> | <complexType name='getCarResponse'> | <sequence> | <element name='result' nillable='true' type='ns2:CarType'/> | </sequence> | </complexType> | <complexType name='setCar'> | <sequence> | <element name='CarType_1' nillable='true' type='ns2:CarType'/> | </sequence> | </complexType> | <complexType name='setCarResponse'> | <sequence/> | </complexType> | <element name='getCar' type='tns:getCar'/> | <element name='getCarResponse' type='tns:getCarResponse'/> | <element name='setCar' type='tns:setCar'/> | <element name='setCarResponse' type='tns:setCarResponse'/> | </schema> | </types> | <message name='CarWS_getCarResponse'> | <part element='tns:getCarResponse' name='result'/> | </message> | <message name='CarWS_setCar'> | <part element='tns:setCar' name='parameters'/> | </message> | <message name='CarWS_setCarResponse'> | <part element='tns:setCarResponse' name='result'/> | </message> | <message name='CarWS_getCar'> | <part element='tns:getCar' name='parameters'/> | </message> | <portType name='CarWS'> | <operation name='getCar'> | <input message='tns:CarWS_getCar'/> | <output message='tns:CarWS_getCarResponse'/> | </operation> | <operation name='setCar'> | <input message='tns:CarWS_setCar'/> | <output message='tns:CarWS_setCarResponse'/> | </operation> | </portType> | <binding name='CarWSBinding' type='tns:CarWS'> | <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> | <operation name='getCar'> | <soap:operation soapAction=''/> | <input> | <soap:body use='literal'/> | </input> | <output> | <soap:body use='literal'/> | </output> | </operation> | <operation name='setCar'> | <soap:operation soapAction=''/> | <input> | <soap:body use='literal'/> | </input> | <output> | <soap:body use='literal'/> | </output> | </operation> | </binding> | <service name='CarWSService'> | <port binding='tns:CarWSBinding' name='CarWSPort'> | <soap:address location='http://localhost:8280/facade/CarWS'/> | </port> | </service> | </definitions> | The webservice class: @Stateless | @WebService(wsdlLocation="META-INF/wsdl/CarWS.wsdl") | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT) | public class CarWS extends WSBean { | | | @WebMethod | public CarType getCar(){ | CarType car = new CarType(); | car.setColor(CarColor.RED); | return car; | } | | @WebMethod | public void setCar(CarType car){ | System.out.println("carcolor = " + car.getColor()); | } | } and the two element type implementations: | @XmlAccessorType(AccessType.FIELD) | @XmlType(name = "CarType", propOrder = { | "color" | }) | public class CarType { | | @XmlElement(name = "color") | protected CarColor color; | | | public CarColor getColor() { | return color; | } | | public void setColor(CarColor color) { | this.color = color; | } | } | | public class CarColor implements java.io.Serializable { | private java.lang.String _value_; | | private static HashMap<String, Object> _table_ = new HashMap<String, Object>(); | | public static final java.lang.String _RED = "red"; | public static final java.lang.String _GREEN = "green"; | | public static final CarColor RED = new CarColor(_RED); | public static final CarColor GREEN = new CarColor(_GREEN); | | | public CarColor(){} | | // Constructor | protected CarColor(java.lang.String value) { | _value_ = value; | _table_.put(_value_, this); | } | | public java.lang.String getValue() { | return _value_; | } | | public static CarColor fromValue(java.lang.String value) throws java.lang.IllegalArgumentException { | CarColor enumeration = (CarColor) _table_.get(value); | if (enumeration == null) | throw new java.lang.IllegalArgumentException(); | return enumeration; | } | | public static CarColor fromString(java.lang.String value) throws java.lang.IllegalArgumentException { | return fromValue(value); | } | | public boolean equals(java.lang.Object obj) { | return (obj == this); | } | | public int hashCode() { | return toString().hashCode(); | } | | public java.lang.String toString() { | return _value_; | } | | public java.lang.Object readResolve() throws java.io.ObjectStreamException { | return fromValue(_value_); | } | } Can any of you see what I'm doing wrong? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000490#4000490 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000490 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user