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 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. - You can reply to this email to add a comment to the issue online.