About the huge soap message issue : it seems to be solved.
But if i add interceptors to my xbean.xml : <cxfbc:inInterceptors> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> </cxfbc:inInterceptors> <cxfbc:outInterceptors> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> </cxfbc:outInterceptors> <cxfbc:inFaultInterceptors> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> </cxfbc:inFaultInterceptors> <cxfbc:outFaultInterceptors> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> </cxfbc:outFaultInterceptors> I get the following error : 19 dÚc. 2007 15:50:59 org.apache.cxf.phase.PhaseInterceptorChain doIntercept INFO: Interceptor has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: stream is closed at org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getBodyElement(JbiInWsdl1Interceptor.java:217) at org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:108) at org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:60) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) at org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:119) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1957) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791) at org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: com.ctc.wstx.exc.WstxIOException: stream is closed 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 org.apache.cxf.staxutils.PartialXMLStreamReader.next(PartialXMLStreamReader.java:41) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:671) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:593) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:630) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:593) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:630) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:593) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:630) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:593) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:630) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:593) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:630) at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:530) at org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getBodyElement(JbiInWsdl1Interceptor.java:214) ... 17 more Caused by: java.io.IOException: stream is closed at sun.net.www.http.ChunkedInputStream.ensureOpen(ChunkedInputStream.java:151) at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:646) at java.io.FilterInputStream.read(FilterInputStream.java:111) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2147) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2142) 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.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.loadMore(StreamScanner.java:1009) at com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:769) at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2811) at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) ... 32 more Thanks again, Best regards, Florent. Freeman Fang wrote: > > Hi Florent, > Yes, you have to build the whole servicemix release this time, since we > update cxf version for servicemix 3.3 snapshot. Your exception is caused > by > org.apache.ws.common.xml.schema version changed accordingly (before it was > 1.2 used for cxf 2.0.2, now it's 1.3.2). > > You can build the kit by > 1. mvn -Dmaven.test.skip=true -Pstep1 install > 2 .mvn -Dmaven.test.skip=true -Pstep2 install > 3. cd distribution folder, mvn install, then you can find the kit in > distribution/target > > Best Regards > > Freeman > > On 12/19/07, Florent <[EMAIL PROTECTED]> wrote: >> >> >> >> Hi Freeman, >> >> I got the lastest svn trunk, and built a 3.3 release of cxf-bc component >> (servicemix-cxf-bc-3.3-SNAPSHOT-installer.zip). >> I've deployed it, replacing the old version. But now, i can't deploy my >> service assembly, here is the error log : >> >> org.apache.ws.commons.schema.XmlSchemaCollection.getExtReg >> ()Lorg/apache/ws/commons/schema/extensions/ExtensionRegistry; >> java.lang.NoSuchMethodError: >> org.apache.ws.commons.schema.XmlSchemaCollection.getExtReg >> ()Lorg/apache/ws/commons/schema/extensions/ExtensionRegistry; >> at >> org.apache.cxf.common.xmlschema.SchemaCollection.<init>( >> SchemaCollection.java:58) >> at >> org.apache.cxf.common.xmlschema.SchemaCollection.<init>( >> SchemaCollection.java:53) >> at >> org.apache.cxf.service.model.ServiceInfo.<init>(ServiceInfo.java:44) >> at >> org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices( >> WSDLServiceBuilder.java:232) >> at >> org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices( >> WSDLServiceBuilder.java:150) >> at >> org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java >> :117) >> at >> org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:229) >> at >> org.apache.servicemix.common.AbstractDeployer.validate( >> AbstractDeployer.java:58) >> at >> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate( >> BaseXBeanDeployer.java:55) >> at >> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy( >> AbstractXBeanDeployer.java:96) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy( >> BaseServiceUnitManager.java:88) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.deploy( >> BaseServiceUnitManager.java:69) >> at >> >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly >> (DeploymentService.java:508) >> at >> >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly >> (AutoDeploymentService.java:350) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive( >> AutoDeploymentService.java:253) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory >> (AutoDeploymentService.java:647) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( >> AutoDeploymentService.java:60) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run( >> AutoDeploymentService.java:611) >> at java.util.TimerThread.mainLoop(Timer.java:512) >> at java.util.TimerThread.run(Timer.java:462) >> >> Shall i need to build the whole ServiceMix release? Last time, building >> cxf >> bc component was enough... >> >> Best Regards, >> Florent. >> >> >> >> Freeman Fang-2 wrote: >> > >> > Hi Florent, >> > >> > I can't reproduce your problem, I write a test according to your wsdl >> > For me, the jbi message is >> > <?xml version="1.0" encoding="UTF-8"?><jbi:message >> > xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> > xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTOResponse" >> > type="msg:getProtoDTOResponse" >> > version="1.0"><jbi:part><ns2:getProtoDTOResponse >> > xmlns:ns2="http://ejb.proto.mycompany.com"><getProtoDTOReturn><id >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > >> xsi:nil="true"/></getProtoDTOReturn></ns2:getProtoDTOResponse></jbi:part></jbi:message> >> > >> > the soap message after transform is >> > <soap:Envelope >> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ >> "><soap:Body><ns2:getProtoDTOResponse >> > xmlns:ns2="http://ejb.proto.mycompany.com"><getProtoDTOReturn><id >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" >> > >> /></getProtoDTOReturn></ns2:getProtoDTOResponse></soap:Body></soap:Envelope> >> > Everything is there and everything works well. >> > >> > Would you please try with the latest trunk? >> > >> > Btw, we finish the cxf version update in servicemix, so your huge soap >> > message issue (> 64 k) should be resovled as well. >> > Best Regards >> > >> > Freeman >> > >> > Florent wrote: >> >> Hi again Freeman, >> >> >> >> I managed to do a very simple example to reproduce the "jbi-message >> <==> >> >> soap-message" bug. So i can get a complete message log. >> >> It should be easier to understand. >> >> >> >> The WSDL : >> >> >> >> <?xml version="1.0" encoding="UTF-8"?> >> >> <wsdl:definitions targetNamespace="http://ejb.proto.mycompany.com" >> >> xmlns:impl="http://ejb.proto.mycompany.com" >> >> xmlns:intf="http://ejb.proto.mycompany.com" >> >> xmlns:tns2="http://dto.proto.mycompany.com" >> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >> >> xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd" >> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >> >> <wsdl:types> >> >> <schema targetNamespace="http://ejb.proto.mycompany.com" >> >> xmlns="http://www.w3.org/2001/XMLSchema" >> >> xmlns:tns2="http://dto.proto.mycompany.com" >> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >> >> <import namespace="http://dto.proto.mycompany.com"/> >> >> <element name="getProtoDTOResponse"> >> >> <complexType> >> >> <sequence> >> >> <element name="getProtoDTOReturn" nillable="true" >> >> type="tns2:ProtoDTO"/> >> >> </sequence> >> >> </complexType> >> >> </element> >> >> <element name="getProtoDTO"> >> >> <complexType> >> >> <sequence> >> >> <element name="param" nillable="true" type="xsd:string"/> >> >> </sequence> >> >> </complexType> >> >> </element> >> >> </schema> >> >> <schema targetNamespace="http://dto.proto.mycompany.com" >> >> xmlns="http://www.w3.org/2001/XMLSchema" >> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >> >> <complexType name="ProtoDTO"> >> >> <sequence> >> >> <element name="id" nillable="true" type="xsd:string"/> >> >> </sequence> >> >> </complexType> >> >> </schema> >> >> </wsdl:types> >> >> >> >> <wsdl:message name="getProtoDTORequest"> >> >> <wsdl:part element="intf:getProtoDTO" name="parameters"/> >> >> >> >> </wsdl:message> >> >> >> >> <wsdl:message name="getProtoDTOResponse"> >> >> <wsdl:part element="intf:getProtoDTOResponse" name="parameters"/> >> >> >> >> </wsdl:message> >> >> >> >> <wsdl:portType name="ProtoBean"> >> >> <wsdl:operation name="getProtoDTO"> >> >> <wsdl:input message="intf:getProtoDTORequest" >> >> name="getProtoDTORequest"/> >> >> >> >> <wsdl:output message="intf:getProtoDTOResponse" >> >> name="getProtoDTOResponse"/> >> >> >> >> </wsdl:operation> >> >> >> >> </wsdl:portType> >> >> >> >> <wsdl:binding name="ProtoBeanSoapBinding" type="intf:ProtoBean"> >> >> <wsaw:UsingAddressing wsdl:required="false" >> >> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/> >> >> >> >> <wsdlsoap:binding style="document" >> >> transport="http://schemas.xmlsoap.org/soap/http"/> >> >> >> >> <wsdl:operation name="getProtoDTO"> >> >> <wsdlsoap:operation soapAction="getProtoDTO"/> >> >> >> >> <wsdl:input name="getProtoDTORequest"> >> >> <wsdlsoap:body use="literal"/> >> >> >> >> </wsdl:input> >> >> >> >> <wsdl:output name="getProtoDTOResponse"> >> >> <wsdlsoap:body use="literal"/> >> >> >> >> </wsdl:output> >> >> >> >> </wsdl:operation> >> >> >> >> </wsdl:binding> >> >> >> >> <wsdl:service name="ProtoBeanService"> >> >> <wsdl:port binding="intf:ProtoBeanSoapBinding" name="ProtoBean"> >> >> <wsdlsoap:address >> >> location="http://0.0.0.0:8092/ProtoBeanService"/> >> >> >> >> </wsdl:port> >> >> >> >> </wsdl:service> >> >> >> >> </wsdl:definitions> >> >> >> >> >> >> ServiceMix log : >> >> >> >> 13 dÚc. 2007 12:10:27 org.apache.cxf.interceptor.LoggingInInterceptor >> >> handleMessage >> >> INFO: Inbound Message >> >> -------------------------------------- >> >> Encoding: UTF-8 >> >> Headers: {Host=[0.0.0.0:8092], User-Agent=[Java/1.5.0_09], >> >> connection=[keep-alive], SOAPAction=["getProtoDTO"], >> >> transfer-encoding=[chunked], Pragma=[no-cache],content-type=[text/xml; >> >> charset=UTF-8], Cache-Control=[no-cache], Accept=[*]} >> >> Message: >> >> <soap:Envelope >> >> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ >> "><soap:Body><ns2:getProtoDTO >> >> xmlns:ns2="http://ejb.proto.mycompany.com">< param></ >> >> param></ns2:getProtoDTO></soap:Body></soap:Envelope> >> >> -------------------------------------- >> >> DEBUG - CxfBcComponent - Created correlation id: >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> DEBUG - DeliveryChannelImpl - SendSync >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 in >> DeliveryChannel{servicemix-cxf-bc} >> >> DEBUG - SedaFlow - Called Flow send >> >> DEBUG - DeliveryChannelImpl - Waiting for exchange >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 (4904c8) to be answered in >> >> DeliveryChannel{servicemix-cxf-bc} from sendSync >> >> DEBUG - SedaQueue - >> >> [EMAIL PROTECTED] dequeued >> >> exchange: >> >> InOut[ >> >> id: ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> status: Active >> >> role: provider >> >> interface: {http://ejb.proto.mycompany.com}ProtoBean >> >> service: {http://ejb.proto.mycompany.com}ProtoBeanService >> >> endpoint: ProtoBean >> >> operation: {http://ejb.proto.mycompany.com}getProtoDTO >> >> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >> >> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> >> xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTORequest" >> >> type="msg:getProtoDTORequest" version="1.0"><jbi:part><ns2:getProtoDTO >> >> xmlns:ns2="http://ejb.proto.mycompany.com">< >> >> param/></ns2:getProtoDTO></jbi:part></jbi:message> >> >> ] >> >> DEBUG - CxfBcComponent - Received exchange: status: >> >> Active, >> >> role: provider >> >> DEBUG - CxfBcComponent - Retrieved correlation id: >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> 13 dÚc. 2007 12:10:28 org.apache.cxf.interceptor.LoggingInInterceptor >> >> handleMessage >> >> INFO: Inbound Message >> >> -------------------------------------- >> >> Headers: {null=[HTTP/1.1 200 OK], Content-Length=[450], >> >> Content-Language=[fr-FR], Date=[Thu, 13 Dec 2007 11:10:28 GMT], >> >> Server=[WebSphere Application Server/6.1], content-type=[text/xml; >> >> charset=utf-8]} >> >> Message: >> >> >> >> -------------------------------------- >> >> DEBUG - DeliveryChannelImpl - Send >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0in DeliveryChannel{servicemix-cxf-bc} >> >> DEBUG - SedaFlow - Called Flow send >> >> DEBUG - SedaQueue - >> >> [EMAIL PROTECTED] dequeued >> >> exchange: >> >> InOut[ >> >> id: ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> status: Active >> >> role: consumer >> >> interface: {http://ejb.proto.mycompany.com}ProtoBean >> >> service: {http://ejb.proto.mycompany.com}ProtoBeanService >> >> endpoint: ProtoBean >> >> operation: {http://ejb.proto.mycompany.com}getProtoDTO >> >> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >> >> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> >> xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTORequest" >> >> type="msg:getProtoDTORequest" version="1.0"><jbi:part><ns2:getProtoDTO >> >> xmlns:ns2="http://ejb.proto.mycompany.com">< >> >> param/></ns2:getProtoDTO></jbi:part></jbi:message> >> >> out: <?xml version="1.0" encoding="UTF-8"?><jbi:message >> >> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> >> xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTOResponse" >> >> type="msg:getProtoDTOResponse" >> >> version="1.0"><jbi:part><p637:getProtoDTOResponse >> >> xmlns:p637="http://ejb.proto.mycompany.com"><getProtoDTOReturn><id >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> >> xsi:nil="true"/></getProtoDTOReturn></p637:getProtoDTOResponse></jbi:part></jbi:message> >> >> ] >> >> DEBUG - DeliveryChannelImpl - Notifying exchange >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0(4904c8) in >> >> DeliveryChannel{servicemix-cxf-bc} from >> processInboundSynchronousExchange >> >> DEBUG - DeliveryChannelImpl - Notified: >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0(4904c8) in >> >> DeliveryChannel{servicemix-cxf-bc} from sendSync >> >> 13 dÚc. 2007 12:10:28 >> >> >> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackonClose >> >> INFO: Outbound Message >> >> -------------------------------------- >> >> <soap:Envelope >> >> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ >> "><soap:Body><p637:getProtoDTOResponse >> >> xmlns:p637="http://ejb.proto.mycompany.com"><getProtoDTOReturn><id >> >> xsi:nil="true" >> >> >> /></getProtoDTOReturn></p637:getProtoDTOResponse></soap:Body></soap:Envelope> >> >> -------------------------------------- >> >> DEBUG - DeliveryChannelImpl - Send >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 in >> DeliveryChannel{servicemix-cxf-bc} >> >> DEBUG - SedaFlow - Called Flow send >> >> DEBUG - SedaQueue - >> >> [EMAIL PROTECTED] dequeued >> >> exchange: >> >> InOut[ >> >> id: ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> status: Done >> >> role: provider >> >> interface: {http://ejb.proto.mycompany.com}ProtoBean >> >> service: {http://ejb.proto.mycompany.com}ProtoBeanService >> >> endpoint: ProtoBean >> >> operation: {http://ejb.proto.mycompany.com}getProtoDTO >> >> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >> >> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> >> xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTORequest" >> >> type="msg:getProtoDTORequest" version="1.0"><jbi:part><ns2:getProtoDTO >> >> xmlns:ns2="http://ejb.proto.mycompany.com">< >> >> param/></ns2:getProtoDTO></jbi:part></jbi:message> >> >> out: <?xml version="1.0" encoding="UTF-8"?><jbi:message >> >> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >> >> xmlns:msg="http://ejb.proto.mycompany.com" name="getProtoDTOResponse" >> >> type="msg:getProtoDTOResponse" >> >> version="1.0"><jbi:part><p637:getProtoDTOResponse >> >> xmlns:p637="http://ejb.proto.mycompany.com"><getProtoDTOReturn><id >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> >> xsi:nil="true"/></getProtoDTOReturn></p637:getProtoDTOResponse></jbi:part></jbi:message> >> >> ] >> >> DEBUG - CxfBcComponent - Received exchange: status: >> Done, >> >> role:provider >> >> DEBUG - CxfBcComponent - Retrieved correlation id: >> >> ID:172.xx.xxx.xxx-116d3309a4d-4:0 >> >> >> >> CXF Client log : >> >> >> >> 13 déc. 2007 12:10:29 org.apache.cxf.phase.PhaseInterceptorChain >> >> doIntercept >> >> INFO: Interceptor has thrown exception, unwinding now >> >> org.apache.cxf.interceptor.Fault: Unmarshalling Error: Undeclared >> >> namespace >> >> prefix "xsi" (for attribute "nil") >> >> at [row,col {unknown-source}]: [1,187] >> >> at >> >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:559) >> >> at >> >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:465) >> >> 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:207) >> >> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java >> :402) >> >> at >> >> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse >> (HTTPConduit.java:1948) >> >> at >> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close( >> HTTPConduit.java:1791) >> >> at >> >> >> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) >> >> at org.apache.cxf.transport.http.HTTPConduit.close( >> HTTPConduit.java:575) >> >> at >> >> >> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage >> (MessageSenderInterceptor.java:62) >> >> at >> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( >> PhaseInterceptorChain.java:207) >> >> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) >> >> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) >> >> at >> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java >> :73) >> >> at >> >> >> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) >> >> at $Proxy27.getProtoDTO(Unknown Source) >> >> at >> >> com.sopra.proto.ejb.ProtoBean_ProtoBean_Client.main >> (ProtoBean_ProtoBean_Client.java:56) >> >> Caused by: javax.xml.bind.UnmarshalException >> >> - with linked exception: >> >> [com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix >> "xsi" >> >> (for attribute "nil") >> >> at [row,col {unknown-source}]: [1,187]] >> >> 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:545) >> >> ... 17 more >> >> >> >> >> >> Best regards, >> >> Florent. >> >> >> >> >> >> Freeman Fang-2 wrote: >> >> >> >>> Hi Florent, >> >>> >> >>> Yes, cxf doesn't support soap encoded, you should avoid using soapenc >> >>> with cxf. >> >>> >> >>> But about the prefix missing issue, it seems like something wrong >> during >> >>> jbi message <===> soap message transformation. >> >>> >> >>> Would you please append the whole jbi message and soap message, or >> whole >> >>> logs you get, as well as the wsdl you are using. >> >>> >> >>> Best Regards >> >>> >> >>> Freeman >> >>> >> >>> Florent wrote: >> >>> >> >>>> Hi again, >> >>>> >> >>>> To bypass the problem, i put an empty object in every nillable array >> >>>> (instead of a null value). >> >>>> >> >>>> But, i got a new error (very similar to the first one) : >> >>>> >> >>>> INFO: Interceptor has thrown exception, unwinding now >> >>>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: Undeclared >> >>>> namespace >> >>>> prefix "soapenc" (for attribute "arrayType") >> >>>> at [row,col {unknown-source}]: [1,680] >> >>>> at >> >>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:559) >> >>>> at >> >>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:465) >> >>>> 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:207) >> >>>> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java >> :402) >> >>>> at >> >>>> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse >> (HTTPConduit.java:1948) >> >>>> at >> >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close( >> HTTPConduit.java:1791) >> >>>> at >> >>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java >> :66) >> >>>> at >> >>>> >> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575) >> >>>> at >> >>>> >> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage >> (MessageSenderInterceptor.java:62) >> >>>> at >> >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( >> PhaseInterceptorChain.java:207) >> >>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) >> >>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) >> >>>> at >> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java >> :73) >> >>>> at >> >>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java >> :135) >> >>>> at >> $Proxy27.searchAutorisationByInternalAutorisationNumberDTO(Unknown >> >>>> Source) >> >>>> at >> >>>> >> com.mycompany.fcb.ejb.ejb.ReadAutorisationBean_ReadAutorisationBean_Client.main >> (ReadAutorisationBean_ReadAutorisationBean_Client.java:59) >> >>>> Caused by: javax.xml.bind.UnmarshalException >> >>>> - with linked exception: >> >>>> [com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix >> >>>> "soapenc" (for attribute "arrayType") >> >>>> at [row,col {unknown-source}]: [1,680]] >> >>>> 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:545) >> >>>> ... 17 more >> >>>> >> >>>> That doesn't suprise me, especially regardin the soap message i >> posted >> >>>> in >> >>>> my >> >>>> previous mail : >> >>>> >> >>>> <repaymentDate>2007-12-31T23:00:00.000Z</repaymentDate> >> >>>> <subjectToApproval >> >>>> soapenc:arrayType="p724:SubjectToApprovalDTO[0]" >> >>>> xmlns:p724="http://dto.fcb.mycompany.com" /> >> >>>> <syndication xsi: nil="true" /> >> >>>> <syndicationReference xsi:nil="true" /> >> >>>> <tolerancePercentage>1.0</tolerancePercentage> >> >>>> >> >>>> There is a soapenc namespace prefix, but there is no soapenc >> namespace >> >>>> declaration... >> >>>> I remember from one of my previous post, you said cxf doesn't >> support >> >>>> soapenc, isn't it? >> >>>> >> >>>> Is it possible to get the get the namespace declaration, even if >> it's >> >>>> not >> >>>> used by cxf? >> >>>> >> >>>> Best regards, >> >>>> Florent. >> >>>> >> >>>> >> >>>> >> >>>> Florent wrote: >> >>>> >> >>>> >> >>>>> Hello, >> >>>>> >> >>>>> I still have the same configuration : >> >>>>> - Web service server (WAS 6.1) >> >>>>> - Servicemix-cxf-bc consumer / provier (used as a bridge) >> >>>>> - Web service client (CXF) >> >>>>> >> >>>>> I got some nillable array in my WSDL definition. Everything is ok >> as >> >>>>> long >> >>>>> as those arrays are not null. >> >>>>> But when they are, "xsi:nil="true"" is added to the soap message. >> >>>>> Everything is still ok as long as i don't use the bridge (direct WS >> >>>>> call >> >>>>> from my CXF client) >> >>>>> >> >>>>> When i used the bridge, here is a part of the jbi out message : >> >>>>> >> >>>>> <commitmentCode>1130</commitmentCode> >> >>>>> <companyCode>071</companyCode> >> >>>>> <consolidatedAutorisation >> >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>>>> xsi:nil="true" /> >> >>>>> <consolidatedUtilisation >> >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>>>> xsi:nil="true" /> >> >>>>> >> >>>>> But here is a part of the soap out message : >> >>>>> >> >>>>> <repaymentDate>2007-12-31T23:00:00.000Z</repaymentDate> >> >>>>> <subjectToApproval >> >>>>> soapenc:arrayType="p724:SubjectToApprovalDTO[0]" >> >>>>> xmlns:p724="http://dto.fcb.mycompany.com" /> >> >>>>> <syndication xsi: nil="true" /> >> >>>>> <syndicationReference xsi:nil="true" /> >> >>>>> <tolerancePercentage>1.0</tolerancePercentage> >> >>>>> >> >>>>> As you can see, there is no >> >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>>>> >> >>>>> And here is the error log of cxf client : >> >>>>> >> >>>>> INFO: Interceptor has thrown exception, unwinding now >> >>>>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: Undeclared >> >>>>> namespace prefix "xsi" (for attribute "nil") >> >>>>> at [row,col {unknown-source}]: [1,613] >> >>>>> at >> >>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:559) >> >>>>> at >> >>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall( >> JAXBEncoderDecoder.java:465) >> >>>>> 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:207) >> >>>>> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java >> :402) >> >>>>> at >> >>>>> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse >> (HTTPConduit.java:1948) >> >>>>> at >> >>>>> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close( >> HTTPConduit.java:1791) >> >>>>> at >> >>>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java >> :66) >> >>>>> at >> >>>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java >> :575) >> >>>>> at >> >>>>> >> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage >> (MessageSenderInterceptor.java:62) >> >>>>> at >> >>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( >> PhaseInterceptorChain.java:207) >> >>>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) >> >>>>> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) >> >>>>> at >> >>>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) >> >>>>> at >> >>>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java >> :135) >> >>>>> at >> $Proxy27.searchAutorisationByInternalAutorisationNumberDTO(Unknown >> >>>>> Source) >> >>>>> at >> >>>>> >> com.mycompany.fcb.ejb.ejb.ReadAutorisationBean_ReadAutorisationBean_Client.main >> (ReadAutorisationBean_ReadAutorisationBean_Client.java:59) >> >>>>> Caused by: javax.xml.bind.UnmarshalException >> >>>>> - with linked exception: >> >>>>> [com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix >> >>>>> "xsi" >> >>>>> (for attribute "nil") >> >>>>> at [row,col {unknown-source}]: [1,613]] >> >>>>> 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:545) >> >>>>> ... 17 more >> >>>>> >> >>>>> >> >>>>> Does servicemix-cxf supports >> >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" namespace >> refix? >> >>>>> >> >>>>> Thanks in advance, >> >>>>> Best regards, >> >>>>> Florent. >> >>>>> >> >>>>> >> >>>>> >> >>>> >> >>>> >> >>> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/servicemix-cxf-bc-missing-namespace-prefix-tp14292666s12049p14416125.html >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/servicemix-cxf-bc-missing-namespace-prefix-tp14292666s12049p14418497.html Sent from the ServiceMix - User mailing list archive at Nabble.com.