You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Freeman Fang <fr...@gmail.com> on 2010/11/05 02:37:20 UTC
Re: CXF Premature End Of File ?
On 2010-11-4, at 上午5:26, Alistair wrote:
>
> Hi All,
>
> I hope anyone can help me with the following issue:
>
> I apologize upfront for all the information posted, but I guess it
> is needed
> to understand what I am doing.
>
> - I am developing a web application using distributed OSGI with a cxf
> webclient. Also, my OSGI package is accessing the data via a second
> OSGI
> package that uses Eclipselink - JPA. (The connection within OSGI works
> wonderfully and the data is retrieved correctly on the console.)
> - So far so good.
>
>
> When I execute the wsdl2java I get the following console message
> (The client
> is generated, but seems to work incorrectly):
>
> Loading FrontEnd jaxws ...
> Loading DataBinding jaxb ...
> wsdl2java -client -d D:\Hagen_Thesis\04 workspace3\ClientTest
> \.cxftmp/src
> -classdir D:\Hagen_Thesis\04 workspace3\ClientTest\build\classes -p
> http://export.webservice.expertfinder.org/=org.expertfinder.webservice.export
> -impl -validate -exsh false -dns true -dex true -wsdlLocation
> http://localhost:9090/expertFinder?wsdl -verbose -defaultValues -fe
> jaxws
> -db jaxb -wv 1.1 http://localhost:9090/expertFinder?wsdl
> wsdl2java - Apache CXF 2.3.0
>
>
> WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException
>
> org.apache.cxf.tools.common.ToolException:
> java.lang.reflect.UndeclaredThrowableException
> at
> org
> .apache
> .cxf
> .tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
> 279)
> at
> org
> .apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:
> 103)
> at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
> at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
> at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)
> Caused by: java.lang.reflect.UndeclaredThrowableException
> at $Proxy38.required(Unknown Source)
> at
> com
> .sun
> .tools
> .xjc
> .generator
> .bean.field.AbstractField.annotateReference(AbstractField.java:187)
> at
> com
> .sun
> .tools
> .xjc.generator.bean.field.AbstractField.annotate(AbstractField.java:
> 156)
> at
> com
> .sun
> .tools
> .xjc
> .generator
> .bean
> .field.AbstractFieldWithVar.createField(AbstractFieldWithVar.java:75)
> at
> com
> .sun
> .tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:
> 89)
> at
> com
> .sun
> .tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:
> 76)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun
> .reflect
> .NativeConstructorAccessorImpl
> .newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingConstructorAccessorImpl
> .newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> com
> .sun
> .tools
> .xjc
> .generator
> .bean.field.GenericFieldRenderer.generate(GenericFieldRenderer.java:
> 64)
> at
> com
> .sun
> .tools
> .xjc
> .generator
> .bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:
> 79)
> at
> com
> .sun
> .tools
> .xjc
> .generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:
> 759)
> at
> com
> .sun
> .tools
> .xjc
> .generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:
> 540)
> at
> com
> .sun
> .tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:243)
> at
> com
> .sun
> .tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:
> 161)
> at com.sun.tools.xjc.model.Model.generateCode(Model.java:286)
> at
> com
> .sun
> .tools
> .xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:252)
> at
> com
> .sun
> .tools
> .xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85)
> at
> org
> .apache
> .cxf
> .tools
> .wsdlto
> .databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:381)
> at
> org
> .apache
> .cxf
> .tools
> .wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:
> 573)
> at
> org
> .apache
> .cxf
> .tools
> .wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:228)
> at
> org
> .apache
> .cxf
> .tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
> 128)
> at
> org
> .apache
> .cxf
> .tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
> 271)
> ... 4 more
> Caused by: java.lang.NoSuchMethodException:
> javax.xml.bind.annotation.XmlElementRef.required()
> at java.lang.Class.getDeclaredMethod(Class.java:1937)
> at
> com
> .sun
> .codemodel.TypedAnnotationWriter.invoke(TypedAnnotationWriter.java:
> 108)
> ... 28 more
>
Hi,
This error generally means you're mixing jaxb2.2 implementation with
JDK 6 (which includes
2.1).
You can use endorse dir to work around this issue.
You can get more details from the cxf 2.3 release notes[1]
[1]http://cxf.apache.org/docs/23-migration-guide.html
Freeman
>
>
>
>
> My wsdl filw looks like this:
>
>
> <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions
> name="ExpertFinderIFC"
> targetNamespace="http://export.webservice.expertfinder.org/"
> xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://export.webservice.expertfinder.org/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <wsdl:types>
> <xsd:schema attributeFormDefault="qualified"
> elementFormDefault="qualified"
> targetNamespace="http://export.ifc.expertfinder.org"
> xmlns:tns="http://export.ifc.expertfinder.org"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:complexType name="ProjectIFC">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="creationDate" nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="description" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="dueDate" nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="dueDateNull" type="xsd:int" />
> <xsd:element minOccurs="0" name="efTeams" nillable="true"
> type="tns:ArrayOfTeamIFC" />
> <xsd:element minOccurs="0" name="modificationDate"
> nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="name" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="parentObjectID" nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="parentObjectType"
> type="xsd:int" />
> <xsd:element minOccurs="0" name="projectID" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="userID" nillable="true"
> type="xsd:integer" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="TeamIFC">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="description" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="efMembers" nillable="true"
> type="tns:ArrayOfMemberIFC" />
> <xsd:element minOccurs="0" name="jiveproject" nillable="true"
> type="tns:ProjectIFC" />
> <xsd:element minOccurs="0" name="name" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="teamID" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="userID" nillable="true"
> type="xsd:integer" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="ArrayOfTeamIFC">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="TeamIFC"
> nillable="true" type="tns:TeamIFC" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="ArrayOfMemberIFC">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0" name="MemberIFC"
> nillable="true" type="tns:MemberIFC" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="MemberIFC">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="description" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="efTeam" nillable="true"
> type="tns:TeamIFC" />
> <xsd:element minOccurs="0" name="jiveuser" nillable="true"
> type="tns:UserIFC" />
> <xsd:element minOccurs="0" name="tmID" type="xsd:int" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:complexType name="UserIFC">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="creationDate" nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="efMembers" nillable="true"
> type="tns:ArrayOfMemberIFC" />
> <xsd:element minOccurs="0" name="email" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="emailVisible" type="xsd:int" />
> <xsd:element minOccurs="0" name="federated" type="xsd:int" />
> <xsd:element minOccurs="0" name="firstName" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="isExternal" type="xsd:int" />
> <xsd:element minOccurs="0" name="lastLoggedIn" nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="lastName" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="modificationDate"
> nillable="true"
> type="xsd:integer" />
> <xsd:element minOccurs="0" name="name" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="nameVisible" type="xsd:int" />
> <xsd:element minOccurs="0" name="passwordHash" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="status" type="xsd:int" />
> <xsd:element minOccurs="0" name="userEnabled" type="xsd:int" />
> <xsd:element minOccurs="0" name="userID" type="xsd:int" />
> <xsd:element minOccurs="0" name="username" nillable="true"
> type="xsd:string" />
> <xsd:element minOccurs="0" name="visible" type="xsd:int" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:schema>
> <xsd:schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://export.webservice.expertfinder.org/"
> xmlns:ns0="http://export.ifc.expertfinder.org"
> xmlns:tns="http://export.webservice.expertfinder.org/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:import namespace="http://export.ifc.expertfinder.org" />
> <xsd:element name="getAllTeamsByProjectID"
> type="tns:getAllTeamsByProjectID" />
> <xsd:complexType name="getAllTeamsByProjectID">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="arg0" nillable="true"
> type="xsd:integer" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="getAllTeamsByProjectIDResponse"
> type="tns:getAllTeamsByProjectIDResponse" />
> <xsd:complexType name="getAllTeamsByProjectIDResponse">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="return"
> type="ns0:ArrayOfTeamIFC" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="getAllTeamsByProjectIDResponse">
> <wsdl:part element="tns:getAllTeamsByProjectIDResponse"
> name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getAllTeamsByProjectID">
> <wsdl:part element="tns:getAllTeamsByProjectID" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:portType name="ExpertFinderIFCPortType">
> <wsdl:operation name="getAllTeamsByProjectID">
> <wsdl:input message="tns:getAllTeamsByProjectID"
> name="getAllTeamsByProjectID">
> </wsdl:input>
> <wsdl:output message="tns:getAllTeamsByProjectIDResponse"
> name="getAllTeamsByProjectIDResponse">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ExpertFinderIFCSoapBinding"
> type="tns:ExpertFinderIFCPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> <wsdl:operation name="getAllTeamsByProjectID">
> <soap:operation soapAction="" style="document" />
> <wsdl:input name="getAllTeamsByProjectID">
> <soap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="getAllTeamsByProjectIDResponse">
> <soap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ExpertFinderIFC">
> <wsdl:port binding="tns:ExpertFinderIFCSoapBinding"
> name="ExpertFinderIFCPort">
> <soap:address location="http://localhost:9090/expertFinder" />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
>
>
> My Soap response is this ( I retrieved this via the Web Services
> Explorer
> from eclipse):
> (You will see it is quite repetitive and basically ends in a
> Premature end
> of file message. (When using a different client that actually
> provides some
> more information.)
>
> - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/">
> - <soap:Body>
> - <ns1:getAllTeamsByProjectIDResponse
> xmlns:ns1="http://export.webservice.expertfinder.org/">
> - <ns1:return>
> - <ns2:TeamIFC xmlns:ns2="http://export.ifc.expertfinder.org">
> <ns2:description>Test</ns2:description>
> <ns2:efMembers />
> - <ns2:jiveproject>
> <ns2:creationDate>1247346470535</ns2:creationDate>
> <ns2:description xmlns:ns3="http://www.w3.org/2001/XMLSchema-
> instance"
> ns3:nil="true" />
> <ns2:dueDate>1248389999999</ns2:dueDate>
> <ns2:dueDateNull>0</ns2:dueDateNull>
> - <ns2:efTeams>
> - <ns2:TeamIFC>
> <ns2:description>Test</ns2:description>
> <ns2:efMembers />
> - <ns2:jiveproject>
> <ns2:creationDate>1247346470535</ns2:creationDate>
> <ns2:description xmlns:ns3="http://www.w3.org/2001/XMLSchema-
> instance"
> ns3:nil="true" />
> <ns2:dueDate>1248389999999</ns2:dueDate>
> <ns2:dueDateNull>0</ns2:dueDateNull>
> - <ns2:efTeams>
> - <ns2:TeamIFC>
> <ns2:description>Test</ns2:description>
> <ns2:efMembers />
> - <ns2:jiveproject>
> <ns2:creationDate>1247346470535</ns2:creationDate>
> <ns2:description xmlns:ns3="http://www.w3.org/2001/XMLSchema-
> instance"
> ns3:nil="true" />
> <ns2:dueDate>1248389999999</ns2:dueDate>
> <ns2:dueDateNull>0</ns2:dueDateNull>
> - <ns2:efTeams>
> - <ns2:TeamIFC>
>
> last part comes repetitive... so it seems like only the first object
> (TeamIFC) is displayed in an unlimited way. Why is that?
>
> [...]
>
>
>
> And here again the more detailed stack trace:
>
>
> 03.11.2010 21:35:54
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromWSDL
> INFO: Creating Service
> {http://export.webservice.expertfinder.org/}ExpertFinderIFC from WSDL:
> http://localhost:9090/expertFinder?wsdl
> 03.11.2010 21:35:56 org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: Premature EOF
> at
> org
> .apache
> .cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:593)
> at
> org
> .apache
> .cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:498)
> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:40)
> at
> org
> .apache
> .cxf
> .interceptor
> .DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:
> 102)
> at
> org
> .apache
> .cxf
> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
> 221)
> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
> at
> org.apache.cxf.transport.http.HTTPConduit
> $WrappedOutputStream.handleResponse(HTTPConduit.java:1996)
> at
> org.apache.cxf.transport.http.HTTPConduit
> $WrappedOutputStream.close(HTTPConduit.java:1832)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:
> 66)
> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:
> 591)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor
> $
> MessageSenderEndingInterceptor
> .handleMessage(MessageSenderInterceptor.java:62)
> at
> org
> .apache
> .cxf
> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
> 221)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:
> 73)
> at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:
> 171)
> at $Proxy53.getAllTeamsByProjectID(Unknown Source)
> at
> com
> .jivesoftware
> .clearspace
> .plugin.beanByActionPlugin.TestAction.check(TestAction.java:133)
> at
> com
> .jivesoftware
> .clearspace
> .plugin.beanByActionPlugin.TestAction.execute(TestAction.java:142)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun
> .reflect
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> com
> .opensymphony
> .xwork2
> .DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:
> 376)
> at
> com
> .opensymphony
> .xwork2
> .DefaultActionInvocation
> .invokeActionOnly(DefaultActionInvocation.java:239)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 213)
> at
> com
> .jivesoftware
> .community
> .web.struts.FlashInterceptor.intercept(FlashInterceptor.java:41)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .DefaultWorkflowInterceptor
> .doIntercept(DefaultWorkflowInterceptor.java:221)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .validator
> .ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .ConversionErrorInterceptor
> .intercept(ConversionErrorInterceptor.java:123)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com.jivesoftware.community.web.struts.JiveConversionErrorInterceptor.intercept
> (JiveConversionErrorInterceptor.java:35)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .jivesoftware
> .community.action.LocaleInterceptor.intercept(LocaleInterceptor.java:
> 68)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .StaticParametersInterceptor
> .intercept(StaticParametersInterceptor.java:105)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> org
> .apache
> .struts2
> .interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:
> 83)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> org
> .apache
> .struts2
> .interceptor
> .FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .ScopedModelDrivenInterceptor
> .intercept(ScopedModelDrivenInterceptor.java:127)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> org
> .apache
> .struts2
> .interceptor
> .debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:
> 206)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:
> 115)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:
> 143)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:
> 121)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> org
> .apache
> .struts2
> .interceptor
> .ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:
> 123)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .opensymphony
> .xwork2
> .interceptor
> .ExceptionMappingInterceptor
> .intercept(ExceptionMappingInterceptor.java:176)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com.jivesoftware.community.web.struts.RequireFeatureInterceptor.intercept
> (RequireFeatureInterceptor.java:36)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .jivesoftware
> .community
> .web
> .struts.ModuleCheckInterceptor.intercept(ModuleCheckInterceptor.java:
> 47)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .jivesoftware
> .community
> .aaa
> .authz
> .RequireAuthorizationInterceptor
> .intercept(RequireAuthorizationInterceptor.java:51)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .jivesoftware
> .community
> .aaa
> .authz
> .GuestAuthorizationInterceptor
> .intercept(GuestAuthorizationInterceptor.java:69)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> com
> .jivesoftware
> .community
> .web
> .struts.JiveRefererInterceptor.intercept(JiveRefererInterceptor.java:
> 43)
> at
> com
> .opensymphony
> .xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
> 211)
> at
> org
> .apache
> .struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
> at
> org
> .apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:
> 504)
> at
> org
> .apache
> .struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:
> 419)
> at
> com
> .jivesoftware
> .community
> .web.struts.JiveFilterDispatcher.doFilter(JiveFilterDispatcher.java:
> 101)
> at
> org
> .springframework
> .web
> .filter
> .DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> at
> org
> .springframework
> .web
> .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com.jivesoftware.community.web.filter.SetResponseCharacterEncodingFilter.doFilter
> (SetResponseCharacterEncodingFilter.java:61)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com
> .opensymphony
> .module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
> at
> com
> .opensymphony
> .module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
> at
> org
> .springframework
> .web
> .filter
> .DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> at
> org
> .springframework
> .web
> .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org
> .apache
> .struts2
> .dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:
> 99)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com.jivesoftware.community.web.filter.JiveDynamicResponseHeaderFilter.doFilter
> (JiveDynamicResponseHeaderFilter.java:66)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com
> .jivesoftware
> .community
> .web
> .filter.JiveCompressionFilter.doFilter(JiveCompressionFilter.java:103)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com.jivesoftware.community.web.filter.SetRequestCharacterEncodingFilter.doFilter
> (SetRequestCharacterEncodingFilter.java:73)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at com.jivesoftware.util.NoCacheFilter.doFilter(NoCacheFilter.java:
> 66)
> at
> org
> .acegisecurity
> .util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org
> .directwebremoting
> .servlet.DwrWebContextFilter.doFilter(DwrWebContextFilter.java:91)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com.jivesoftware.base.plugin.PluginFilter.doFilter(PluginFilter.java:
> 75)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:265)
> at
> com
> .jivesoftware
> .community
> .aaa
> .JiveAuthenticationTranslationFilter
> .doFilter(JiveAuthenticationTranslationFilter.java:164)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> org
> .acegisecurity
> .ui
> .ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:
> 124)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> com
> .jivesoftware
> .community
> .aaa
> .FeedsBasicProcessingFilter.doFilter(FeedsBasicProcessingFilter.java:
> 146)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> org
> .acegisecurity
> .ui
> .rememberme
> .RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:
> 142)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> org
> .acegisecurity
> .ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:
> 271)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> com
> .jivesoftware
> .community
> .aaa.SessionTrackingFilter.doFilter(SessionTrackingFilter.java:53)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> org
> .acegisecurity
> .context
> .HttpSessionContextIntegrationFilter
> .doFilter(HttpSessionContextIntegrationFilter.java:249)
> at
> org.acegisecurity.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:275)
> at
> org
> .acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:
> 149)
> at
> org
> .acegisecurity
> .util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 235)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> com
> .jivesoftware
> .community
> .web
> .filter.ApplicationStateFilter.doFilter(ApplicationStateFilter.java:
> 145)
> 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:
> 233)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 191)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org
> .apache
> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 109)
> at
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 286)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 845)
> at
> org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint
> $Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.xml.bind.UnmarshalException
> - with linked exception:
> [com.ctc.wstx.exc.WstxIOException: Premature EOF]
> at
> com
> .sun
> .xml
> .bind
> .v2
> .runtime
> .unmarshaller
> .UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:396)
> at
> com
> .sun
> .xml
> .bind
> .v2
> .runtime
> .unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:334)
> at
> com
> .sun
> .xml
> .bind
> .v2
> .runtime
> .unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:311)
> at
> org
> .apache
> .cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:578)
> ... 148 more
> Caused by: com.ctc.wstx.exc.WstxIOException: Premature EOF
> at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:
> 1086)
> at
> org
> .apache
> .cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:
> 215)
> at
> com
> .sun
> .xml
> .bind
> .v2
> .runtime
> .unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:151)
> at
> com
> .sun
> .xml
> .bind
> .v2
> .runtime
> .unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:332)
> ... 150 more
> Caused by: java.io.IOException: Premature EOF
> at
> sun
> .net
> .www
> .http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:
> 538)
> at
> sun
> .net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:
> 582)
> at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:
> 669)
> at java.io.FilterInputStream.read(FilterInputStream.java:116)
> at
> sun.net.www.protocol.http.HttpURLConnection
> $HttpInputStream.read(HttpURLConnection.java:2446)
> at
> sun.net.www.protocol.http.HttpURLConnection
> $HttpInputStream.read(HttpURLConnection.java:2441)
> at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:362)
> at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
> at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
> at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> at
> com
> .ctc
> .wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
> at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:967)
> at com.ctc.wstx.sr.StreamScanner.getNext(StreamScanner.java:738)
> at
> com
> .ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:
> 2721)
> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:
> 1019)
> ... 153 more
>
>
>
>
> Here my OSGI Activator:
>
> // from the start method
> TeamServiceImpl hs = (TeamServiceImpl) bundleContext.getService(sr);
>
> ExpertFinderImpl ef = new ExpertFinderImpl();
> ef.setTeamServiceImpl(hs);
>
> System.out.println(" Read all teams: "
> + hs.getAllTeamsByID(new BigInteger("1004")));
>
>
> System.out.println(" OSGI access was possible. Setting up
> webservice...");
>
> Dictionary<String, String> props = new Hashtable<String,
> String>();
>
> props.put("service.exported.interfaces", "*");
> props.put("service.exported.configs", "org.apache.cxf.ws");
> props.put("org.apache.cxf.ws.address",
> "http://localhost:9090/expertFinder");
>
>
> bundleContext.registerService(ExpertFinderIFC.class.getName(),
> ef, props);
>
>
> [...]
>
> /*****************************/
>
> and my service implementation:
>
> public class ExpertFinderImpl implements ExpertFinderIFC {
>
> @Override
> public ArrayList<TeamIFC> getAllTeamsByProjectID(BigInteger
> projectID) {
> // TODO Auto-generated method stub
>
>
>
>
> return (ArrayList <TeamIFC>) impl.getAllTeamsByID(projectID);
>
> }
> [...]
>
> /*****************************/
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/CXF-Premature-End-Of-File-tp3249208p3249208.html
> Sent from the cxf-issues mailing list archive at Nabble.com.
--
Freeman Fang
------------------------
FuseSource: http://fusesource.com
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org
Re: CXF Premature End Of File ?
Posted by Alistair <al...@gmail.com>.
Hi ,
thank you for the time to look at this. I did as described:
- added the endorse path and relevant libs
- however I did not succeed completely.
Please note: The same method is nicely accessible and retrieves the relevant
information if called by OSGI only.
I am calling this currently via a groovy script. (Same issue als applies if
I build a test Webservice from within eclipse where it shows me the priorly
mentioned SOAP envelope and response.
Groovy Message:
INFO: Created classes:
org.expertfinder.webservice.export.GetAllTeamsByProjectID,
org.expertfinder.webservice.export.GetAllTeamsByProjectIDResponse,
org.expertfinder.webservice.export.ObjectFactory,
org.expertfinder.ifc.export.ArrayOfMemberIFC,
org.expertfinder.ifc.export.ArrayOfTeamIFC,
org.expertfinder.ifc.export.MemberIFC,
org.expertfinder.ifc.export.ObjectFactory,
org.expertfinder.ifc.export.ProjectIFC, org.expertfinder.ifc.export.TeamIFC,
org.expertfinder.ifc.export.UserIFC
07.11.2010 11:25:34 org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
WARNUNG: Interceptor for
{http://export.webservice.expertfinder.org/}ExpertFinderIFC#{http://export.webservice.expertfinder.org/}getAllTeamsByProjectID
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: ParseError at
[row,col]:[1,122915]
Message: Premature EOF
at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:773)
Is there anything else I could check?
I am at a complete loss, even reverted to distributed OSGI version 1.0
instead of 1.2.
At least I gett the same result for both.
Alistair
>Hi,
>This error generally means you're mixing jaxb2.2 implementation with
>JDK 6 (which includes
>2.1).
>You can use endorse dir to work around this issue.
>You can get more details from the cxf 2.3 release notes[1]
>[1]http://cxf.apache.org/docs/23-migration-guide.html
>Freeman
>
--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-Premature-End-Of-File-tp3249208p3253821.html
Sent from the cxf-issues mailing list archive at Nabble.com.