java - CXF web service ClassCastException on assignment of return type when using WS-Reliable Messaging -


i have wsdl-first web service using cxf 2.7.6, using wrapped-style. getstate web service interface method returns int value. however, when call web service cxf client code, classcastexception message 'can't cast getstateresponse object integer'. because classcastexception not occur every time make web service call. intermittently similar classcastexception on calls other methods in web service interface. interestingly, exception occurs ws-reliable messaging configured. deploying on jboss eap 6 server using cxf libraries directly (rather using jboss' built-in webservices subsystem)

i'm able work-around issue assigning return value object , determining type , handling accordingly, definite hack , i'd find root cause of issue. below excerpts wsdl, schema , interface class.

wsdl excerpts:

<wsdl:definitions>     <wsdl:message name="getstate">         <wsdl:part name="parameters" element="msgs:getstate"/>     </wsdl:message>      <wsdl:porttype>         <wsdl:operation name="getstate">             <wsdl:input name="getstate" message="tns:getstate"/>             <wsdl:output name="getstateresponse" message="tns:getstateresponse"/>             <wsdl:fault name="soapfaultexception" message="tns:soapfaultexception"/>         </wsdl:operation>     </wsdl:porttype>      <wsdl:binding>         <wsdl:operation name="getstate">             <soap:operation soapaction="" style="document"/>             <wsdl:input name="getstate">                 <soap:body use="literal"/>             </wsdl:input>             <wsdl:output name="getstateresponse">                 <soap:body use="literal"/>             </wsdl:output>             <wsdl:fault name="soapfaultexception">                 <soap:fault name="soapfaultexception" use="literal"/>             </wsdl:fault>         </wsdl:operation>     </wsdl:binding> </wsdl:definitions> 

schema referenced 'msgs:' prefix above:

<xs:element name="getstate" type="tns:getstate"/>  <xs:complextype name="getstate">     <xs:sequence>         <xs:element minoccurs="0" name="param1" type="xs:string" />         <xs:element minoccurs="0" name="param2" type="xs:string" />     </xs:sequence> </xs:complextype> 

interface class:

@webresult(name = "return", targetnamespace = "") @requestwrapper(localname = "getstate", targetnamespace = "http://messages.space.my.name", classname = "my.name.space.getstate") @webmethod @responsewrapper(localname = "getstateresponse", targetnamespace = "http://messages.space.my.name", classname = "my.name.space.getstateresponse") public int getstate( @webparam(name = "param1", targetnamespace = "") java.lang.string param1, @webparam(name = "param2", targetnamespace = "") java.lang.string param2) throws soapfaultexception; 

spring jaxws client configuration:

<jaxws:client id="wsproxy" serviceclass="my.name.space.iwebserviceinterface">     <jaxws:ininterceptors>         <bean id="loggingininterceptor"                class="org.apache.cxf.interceptor.loggingininterceptor" >             <property name="prettylogging" value="true" />         </bean>         <ref bean="rmlogicalin"/>         <ref bean="rmcodec"/>     </jaxws:ininterceptors>     <jaxws:outinterceptors>         <bean id="loggingoutinterceptor"                class="org.apache.cxf.interceptor.loggingoutinterceptor" >             <property name="prettylogging" value="true" />         </bean>         <ref bean="rmlogicalout"/>         <ref bean="rmcodec"/>     </jaxws:outinterceptors> </jaxws:client> 

stack trace:

[33m [0m [31m00:39:20,589 error [org.apache.catalina.core.containerbase.[jboss.web].[default-host].[/test_gui].[jsp]] (ajp-/0.0.0.0:8009-9) jbweb000236:  servlet.service() servlet jsp threw exception: java.lang.classcastexception: my.name.space.messages.getstateresponse cannot cast java.lang.integer [0m [31m    @ $proxy139.getstate(unknown source)   @ org.apache.jsp.client.framework.mws_005ftest_jsp.waitforstate(mws_005ftest_jsp.java:166) [0m [31m    @ org.apache.jsp.client.framework.mws_005ftest_jsp._jspservice(mws_005ftest_jsp.java:508) [0m [31m    @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:69) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ javax.servlet.http.httpservlet.service(httpservlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.final-redhat-1.jar:1.0.2.final-redhat-1] [0m [31m    @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:365) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:309) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:242) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ javax.servlet.http.httpservlet.service(httpservlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.final-redhat-1.jar:1.0.2.final-redhat-1] [0m [31m    @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:295) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ mil.jpmis.cbrnis.client.framework.setcharacterencodingfilter.dofilter(setcharacterencodingfilter.java:148) [testgui.jar:] [0m [31m    @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:246) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:214) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:231) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:149) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.jboss.modcluster.container.jbossweb.jbosswebcontext$requestlistenervalve.event(jbosswebcontext.java:91) [0m [31m    @ org.jboss.modcluster.container.jbossweb.jbosswebcontext$requestlistenervalve.invoke(jbosswebcontext.java:72) [0m [31m    @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:512) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.jboss.as.web.security.securitycontextassociationvalve.invoke(securitycontextassociationvalve.java:169) [jboss-as-web-7.4.3.final-redhat-2.jar:7.4.3.final-redhat-2] [0m [31m    @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:145) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:97) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:102) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:344) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.coyote.ajp.ajpprocessor.process(ajpprocessor.java:490) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.coyote.ajp.ajpprotocol$ajpconnectionhandler.process(ajpprotocol.java:420) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:926) [jbossweb-7.4.10.final-redhat-1.jar:7.4.10.final-redhat-1] [0m [31m    @ java.lang.thread.run(unknown source) [rt.jar:1.7.0] 

i posted on cxf-users nabble list, no response yet. appreciated!


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -