[
https://issues.apache.org/jira/browse/CXF-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-2952.
------------------------------
Resolution: Fixed
Fix Version/s: 2.4.3
2.3.7
Assignee: Daniel Kulp
> Corba Use Case: CXF/JAX-WS Server and CXF/JAX-WS Client with corba:sequence
> produces Unmarshalling Error: null
> ---------------------------------------------------------------------------------------------------------------
>
> Key: CXF-2952
> URL: https://issues.apache.org/jira/browse/CXF-2952
> Project: CXF
> Issue Type: Bug
> Components: CORBA Binding
> Affects Versions: 2.2.9
> Environment: OS: XP and HPUX
> Version: cxf-2.2.9 and cxf-2.3.0-SNAPSHOT
> Components: java6, Sun's orbd
> Reporter: Andrew Lamb
> Assignee: Daniel Kulp
> Fix For: 2.3.7, 2.4.3
>
> Attachments: ApacheCxfProblem.tar
>
>
> Using CORBA bindings, given the following types (in the corba wsdl), a
> HelloWorld message succeeds if the inparameter is of type "MyItem" but not
> for "MyItemVector".
> <xs:complexType name="MyItem">
> <xs:sequence>
> <xs:element name="newMyString" type=" xs:string"></xs:element>
> </xs:sequence>
> </xs:complexType>
>
> <xs:complexType name="MyItemVector">
> <xs:sequence>
> <xs:element maxOccurs="1000" minOccurs="0" name="item"
> type="MyItem"></xs:element>
> </xs:sequence>
> </xs:complexType>
> In the failure case, the CXF client fires off the request which triggers an
> error on the CXF server: "org.apache.cxf.interceptor.Fault: Unmarshalling
> Error: null".
> Attached is a HelloWorld project based on the distribution sample "Hello
> World CORBA Demo" (specifically "Use Case 3 - CXF/JAX-WS Server, CXF/JAX-WS
> Client") which exposes the behavior.
>
> To reproduce:
> 1. Untar ApacheCxfProblem.tar
> 2. Configure ApacheCxfProblem/config/.profile
> export PROJECT_HOME=<full path>/ApacheCxfProblem
> export CXF_HOME=<full path>/apache-cxf-2.2.9
> 3. From the ApacheCxfProblem/bin directory execute
> . ../config/.profile
> ./runns.sh
> ./runserver.sh
> ./runclient.sh
> Additional Notes:
> Based upon the HelloWorld.idl, a wsdl file and java files were created using
> the following commands:
> idl2wsdl -o wsdl idl/HelloWorld.idl
> wsdl2java -p com -d gen_src wsdl/HelloWorld.wsdl
> The full server stack trace:
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: null
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:780)
>
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:624)
>
> at
> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
> at
> org.apache.cxf.interceptor.BareInInterceptor.handleMessage(BareInInterceptor.java:138)
>
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
>
> at
> org.apache.cxf.binding.corba.runtime.CorbaDSIServant.invoke(CorbaDSIServant.java:175)
>
> at
> com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:626)
>
> at
> com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189)
>
> at
> com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1682)
>
> at
> com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
>
> at
> com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
>
> at
> com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
>
> at
> com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
>
> at
> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
>
> at
> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1213)
>
> at
> com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
>
> at
> com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)
>
> Caused by: java.lang.NullPointerException
> at
> org.apache.cxf.binding.corba.runtime.CorbaStreamReader.getTextCharacters(CorbaStreamReader.java:49)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:323)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:187)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:755)
>
> ... 17 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira