[ 
https://issues.apache.org/jira/browse/CXF-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556074#action_12556074
 ] 

Benson Margulies commented on CXF-1332:
---------------------------------------

The problem is the artistic white space! I've submitted a fix, you can get 
around it by not putting whitespace between array elements and between the last 
one and the end tag for the message.

I'm assigning to dkulp for 2.0.4 merge.

> 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
>            Priority: Blocker
>         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.

Reply via email to