[
https://issues.apache.org/jira/browse/CXF-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555957#action_12555957
]
Geng Liu commented on CXF-1332:
-------------------------------
We do not have any workaround solutions so far. Is there anybody going to fix
this problem? It's blocking us, we will be
forced to roll back to xfire if it's not fixed.
> CXF2.0.3 can not take a string array as parameter, will generate
> JAXBEncoderDecoder.unmarshallArray() error.
> ------------------------------------------------------------------------------------------------------------
>
> Key: CXF-1332
> URL: https://issues.apache.org/jira/browse/CXF-1332
> Project: CXF
> Issue Type: Bug
> Components: JAXB Databinding
> Affects Versions: 2.0.3
> Environment: Windows XP, java 1.6.0_02, CXF2.0.3, JBoss 4.2.1.GA
> Reporter: Geng Liu
> Attachments: HelloWorldCXF.zip
>
>
> If webparam is an array, for example, a string array:
> @WebMethod(operationName = "SendData", action = "")
> @WebResult(name = "result", targetNamespace =
> "http://service.host.webservices.nortel.com")
> public String hostSendData(
> @WebParam(name = "params") String[]
> strs);
> will get the following CXF exceptions. However, I tried xfire1.2.6, it works
> fine.
> 10:45:23,092 ERROR [STDERR] Dec 24, 2007 10:45:23 AM
> org.apache.cxf.interceptor.LoggingInInterceptor handleMessage
> INFO: Inbound Message
> --------------------------------------
> Encoding: UTF-8
> Headers: {content-length=[333], host=[localhost:8080], user-agent=[Jakarta
> Commons-HttpClient/3.0.1], content-type=[text/xml;charset=UTF-8],
> soapaction=[""]}
> Message:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ser="http://service.host.webservices.nortel.com">
> <soapenv:Header/>
> <soapenv:Body>
> <ser:SendData>
> <!--Zero or more repetitions:-->
> <params>aaaa</params>
> </ser:SendData>
> </soapenv:Body>
> </soapenv:Envelope>
> --------------------------------------
> 10:45:23,092 ERROR [STDERR] Dec 24, 2007 10:45:23 AM
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: Current state not
> START_ELEMENT or END_ELEMENT
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshallArray(JAXBEncoderDecoder.java:634)
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:438)
> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:40)
> at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:234)
> at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:120)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:256)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.IllegalStateException: Current state not START_ELEMENT
> or END_ELEMENT
> at com.ctc.wstx.sr.BasicStreamReader.getName(BasicStreamReader.java:721)
> at
> org.apache.cxf.staxutils.DepthXMLStreamReader.getName(DepthXMLStreamReader.java:109)
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshallArray(JAXBEncoderDecoder.java:617)
> ... 31 more
> 10:45:23,092 ERROR [STDERR] Dec 24, 2007 10:45:23 AM
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
> INFO: Outbound Message:
> --------------------------------------
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Unmarshalling
> Error: Current state not START_ELEMENT or END_ELEMENT
> </faultstring></soap:Fault></soap:Body></soap:Envelope>--------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.