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

Geng Liu commented on CXF-1332:
-------------------------------

I tried java_first_spring_support example under CXF2.0.3 samples, I changed 
parameter to String[], and it works fine.
However, after I copied the programs and generated a WAR file and posted it to 
JBoss4.2.1 server, and using soapUI
or web service explorer as client, CXF will throw the unmarshalArray() 
exception again. The only difference is the
sample code use the it's own server/client, I am using Jboss/SoapUI. And from 
the Jboss debug output, the soap 
message looks ok.

> 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