Return-Path: Delivered-To: apmail-servicemix-users-archive@www.apache.org Received: (qmail 51419 invoked from network); 12 Aug 2009 19:21:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 12 Aug 2009 19:21:26 -0000 Received: (qmail 57781 invoked by uid 500); 12 Aug 2009 19:21:32 -0000 Delivered-To: apmail-servicemix-users-archive@servicemix.apache.org Received: (qmail 57757 invoked by uid 500); 12 Aug 2009 19:21:32 -0000 Mailing-List: contact users-help@servicemix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@servicemix.apache.org Delivered-To: mailing list users@servicemix.apache.org Received: (qmail 57731 invoked by uid 99); 12 Aug 2009 19:21:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Aug 2009 19:21:32 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Aug 2009 19:21:21 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1MbJNc-0002Rq-08 for users@servicemix.apache.org; Wed, 12 Aug 2009 12:21:00 -0700 Message-ID: <24942974.post@talk.nabble.com> Date: Wed, 12 Aug 2009 12:20:59 -0700 (PDT) From: Brian Taylor To: users@servicemix.apache.org Subject: Re: CXF SE: null XML Payload after unmarshall In-Reply-To: <24942525.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: brian@briantaylor.us References: <24942525.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org BTW, stSvc and srv are the same namespace. Brian Taylor wrote: > > Hello, > > I really appreciate any help on this. > > We're using a File BC SU [1] to pick up an XML message [2] (of which I > added a JBI message wrapper manually so the CXF SE wouldn't gripe - I've > also used a SOAP wrapper with the same end result), send the message to an > EIP SE pipeline route SU [3], which sends it first to a CXF SE SU [4] and > then onto a WSN-2005 SE SU (not important yet). The Java class for the CXF > SE SU pojo is [5]. The resultant WSDL upon deployment is [6]. The logged > [7] error that we get is a NullPointerException in the Java class [5] at: > xmlDoc.getTransferHeader(). It appears the CXF SE is calling the 'save' > method with a 'null' argument. I don't see any marshalling errors so I'm > really puzzled at what the problem is. > > Also, is there a way to get the CXF SE Endpoint to set not use the JBI or > SOAP wrappers? I've tried to set it in the xbean and it will accept the > useJBIWrapper="false", but when I also add useSOAPEnvelope="false" it says > that the useSOAPEnvelope is not a property of the CxfSeEndpoint (even > though the code proves otherwise). > > Thanks again for any help, this is really stumping me. > > Brian > > [1] File BC SU > service="stSvc:PipelineRoutingServiceFile" > endpoint="SaveTransferDocumentRouteFile" > targetService="stSvc:PipelineRoutingService" > targetEndpoint="SaveTransferDocumentRoute" > file="c:/FilePollingService/TransferDocumentFileDrop" > archive="c:/FilePollingService/TransferDocumentFileDropArchive" > delay="5000" > period="10000" > autoCreateDirectory="true" > deleteFile="true"/> > > [2] Message > xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" > xmlns:srv="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > name="save" > type="srv:saveRequest" > version="1.0"> > > > > > > > > > > [3] EIP Pipeline Route SU > service="stSvc:PipelineRoutingService" > endpoint="SaveTransferDocumentRoute"> > > service="stSvc:TransferDocumentDataAccessImplService" > endpoint="TransferDocumentDataAccessImplPort" > operation="stSvc:save"/> > > > service="wsn:NotificationBroker" > endpoint="Broker" > operation="wsn:Notify"/> > > > > [4] CXF SE SU > > > class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/> > > > > [5] TransferDocumentDataAccessImplService (save method) > public TransferDocument save(TransferDocument xmlDoc) throws > ImproperArgumentWebFault { > TransferHeader xmlHdr = xmlDoc.getTransferHeader(); > if(xmlHdr==null) > throw new > ImproperArgumentWebFault("TransferDocumentDataAccess.save():TransferDocument="+xmlDoc); > > [6] Generated WSDL > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:ns1="http://cxf.apache.org/transports/jbi" > xmlns:tns="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > name="TransferDocumentDataAccessImplService" > targetNamespace="http://domain.services.mycompany.com/"> > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:ns1="http://www.mycompany.com/domain" > attributeFormDefault="unqualified" > elementFormDefault="unqualified" > targetNamespace="http://domain.services.mycompany.com/" > xmlns:tns="http://domain.services.mycompany.com/"> > > > > > > > > > > > > > > > > > > > > > > > > > > type="tns:ImproperArgumentWebFault"/> > > > > type="tns:DataAccessRetryWebFault"/> > > > > type="tns:DataAccessNotFoundWebFault"/> > > > > type="tns:DataAccessConstraintWebFault"/> > > > > type="tns:DataAccessDuplicateWebFault"/> > > > > > xmlns:tns="http://www.mycompany.com/domain" > attributeFormDefault="unqualified" elementFormDefault="unqualified" > targetNamespace="http://www.mycompany.com/domain"> > type="tns:TransferDocument"/> > type="tns:TransferHeader"/> > > > type="tns:TransferHeader"/> > type="tns:TransferDetail"/> > > > > > > > > > > > > > > > > > > > > > > > name="DataAccessConstraintWebFault"> > > > > name="ImproperArgumentWebFault"> > > > > > > > > name="DataAccessDuplicateWebFault"> > > > > name="DataAccessRetryWebFault"> > > > > name="DataAccessNotFoundWebFault"> > > > > > > > > > > > > > > > > > > > > > name="DataAccessNotFoundWebFault"> > > name="ImproperArgumentWebFault"> > > name="DataAccessRetryWebFault"> > > > > > > > > name="DataAccessConstraintWebFault"> > > name="ImproperArgumentWebFault"> > > name="DataAccessDuplicateWebFault"> > > name="DataAccessRetryWebFault"> > > > > type="tns:TransferDocumentDataAccess"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > binding="tns:TransferDocumentDataAccessImplServiceJBIBinding" > name="TransferDocumentDataAccessImplPort"> > > > > > [7] Logged error > 14:03:44,092 | DEBUG | pool-component.servicemix-file-thread-1 | > FileComponent | icemix.file.FilePollerEndpoint 298 | Polling > directory c:\FilePollingService\TransferDocumentFileDrop > 14:03:44,108 | DEBUG | pool-component.servicemix-file-thread-1 | > FileComponent | icemix.file.FilePollerEndpoint 310 | > Scheduling file > c:\FilePollingService\TransferDocumentFileDrop\TransferDocument-wrapped-JBI.xml > for processing > 14:03:44,124 | DEBUG | pool-component.servicemix-file-thread-2 | > FileComponent | icemix.file.FilePollerEndpoint 330 | > Processing file > c:\FilePollingService\TransferDocumentFileDrop\TransferDocument-wrapped-JBI.xml > 14:03:44,186 | DEBUG | pool-component.servicemix-file-thread-2 | > FileComponent | emix.common.AsyncBaseLifeCycle 626 | Created > correlation id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:44,186 | DEBUG | pool-component.servicemix-file-thread-2 | > DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send > ID:172.18.127.170-1230fc5d00b-5:0 in DeliveryChannel{servicemix-file} > 14:03:44,202 | DEBUG | pool-component.servicemix-file-thread-2 | > SecuredBroker | mix.jbi.security.SecuredBroker 66 | send > exchange with secure broker > 14:03:44,202 | DEBUG | pool-component.servicemix-file-thread-2 | > SecuredBroker | mix.jbi.security.SecuredBroker 72 | service > name :{http://domain.services.mycompany.com/}PipelineRoutingService > 14:03:44,202 | DEBUG | pool-component.servicemix-file-thread-2 | > SecuredBroker | mix.jbi.security.SecuredBroker 73 | operation > name :null > 14:03:44,202 | DEBUG | pool-component.servicemix-file-thread-2 | SedaFlow > | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send > 14:03:44,264 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | SedaQueue > | .jbi.nmr.flow.seda.SedaQueue$1 132 | > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@a47962 dequeued > exchange: InOnly[ > id: ID:172.18.127.170-1230fc5d00b-5:0 > status: Active > role: provider > service: {http://domain.services.mycompany.com/}PipelineRoutingService > endpoint: SaveTransferDocumentRoute > in: xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" > xmlns:srv="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="save" > type="srv:saveRequest" version="1.0"> > > > > > > > > > ] > 14:03:44,295 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > EIPComponent | emix.common.AsyncBaseLifeCycle 534 | Received > exchange: status: Active, role: provider > 14:03:44,295 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > EIPComponent | emix.common.AsyncBaseLifeCycle 596 | Retrieved > correlation id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:44,295 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > MemoryStore | cemix.store.memory.MemoryStore 51 | Storing > object with id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:44,311 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > EIPComponent | emix.common.AsyncBaseLifeCycle 632 | > Correlation id retrieved from ThreadLocal: > ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:44,311 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send > ID:172.18.127.170-1230fc5d00b-4:0 in DeliveryChannel{servicemix-eip} > 14:03:44,311 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > SecuredBroker | mix.jbi.security.SecuredBroker 66 | send > exchange with secure broker > 14:03:44,311 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > SecuredBroker | mix.jbi.security.SecuredBroker 72 | service > name > :{http://domain.services.mycompany.com/}TransferDocumentDataAccessImplService > 14:03:44,311 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | > SecuredBroker | mix.jbi.security.SecuredBroker 73 | operation > name :{http://domain.services.mycompany.com/}save > 14:03:44,327 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | SedaFlow > | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send > 14:03:44,342 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@ad4bb0 dequeued > exchange: InOut[ > id: ID:172.18.127.170-1230fc5d00b-4:0 > status: Active > role: provider > service: > {http://domain.services.mycompany.com/}TransferDocumentDataAccessImplService > endpoint: TransferDocumentDataAccessImplPort > operation: {http://domain.services.mycompany.com/}save > in: xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" > xmlns:srv="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="save" > type="srv:saveRequest" version="1.0"> > > > > > > > > > ] > 14:03:44,374 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > CxfSeComponent | emix.common.AsyncBaseLifeCycle 534 | Received > exchange: status: Active, role: provider > 14:03:44,374 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > CxfSeComponent | emix.common.AsyncBaseLifeCycle 596 | Retrieved > correlation id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:44,967 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send > ID:172.18.127.170-1230fc5d00b-4:0 in DeliveryChannel{servicemix-cxf-se} > 14:03:44,967 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > SecuredBroker | mix.jbi.security.SecuredBroker 66 | send > exchange with secure broker > 14:03:44,967 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | > SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called > Flow send > 14:03:44,983 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@2fbd59 dequeued > exchange: InOut[ > id: ID:172.18.127.170-1230fc5d00b-4:0 > status: Error > role: consumer > interface: > {http://domain.services.mycompany.com/}TransferDocumentDataAccess > service: > {http://domain.services.mycompany.com/}TransferDocumentDataAccessImplService > endpoint: TransferDocumentDataAccessImplPort > operation: {http://domain.services.mycompany.com/}save > in: xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" > xmlns:srv="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="save" > type="srv:saveRequest" version="1.0"> > > > > > > > > > error: org.apache.cxf.interceptor.Fault > ] > 14:03:45,014 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > EIPComponent | emix.common.AsyncBaseLifeCycle 534 | Received > exchange: status: Error, role: consumer > 14:03:45,014 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > EIPComponent | emix.common.AsyncBaseLifeCycle 596 | Retrieved > correlation id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:45,030 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > MemoryStore | cemix.store.memory.MemoryStore 62 | Loading > object with id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:45,030 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send > ID:172.18.127.170-1230fc5d00b-5:0 in DeliveryChannel{servicemix-eip} > 14:03:45,030 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > SecuredBroker | mix.jbi.security.SecuredBroker 66 | send > exchange with secure broker > 14:03:45,030 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | > SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called > Flow send > 14:03:45,045 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | SedaQueue > | .jbi.nmr.flow.seda.SedaQueue$1 132 | > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1112776 dequeued > exchange: InOnly[ > id: ID:172.18.127.170-1230fc5d00b-5:0 > status: Error > role: consumer > service: {http://domain.services.mycompany.com/}PipelineRoutingService > endpoint: SaveTransferDocumentRoute > in: xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" > xmlns:srv="http://domain.services.mycompany.com/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="save" > type="srv:saveRequest" version="1.0"> > > > > > > > > > error: org.apache.cxf.interceptor.Fault > ] > 14:03:45,092 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | > FileComponent | emix.common.AsyncBaseLifeCycle 534 | Received > exchange: status: Error, role: consumer > 14:03:45,092 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | > FileComponent | emix.common.AsyncBaseLifeCycle 596 | Retrieved > correlation id: ID:172.18.127.170-1230fc5d00b-5:0 > 14:03:45,092 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | > FileComponent | icemix.file.FilePollerEndpoint 369 | Releasing > c:\FilePollingService\TransferDocumentFileDrop\TransferDocument-wrapped-JBI.xml > 14:03:45,092 | WARN | pool-flow.seda.servicemix-eip-thread-2 | > FileComponent | icemix.file.FilePollerEndpoint 389 | Message > in file > c:\FilePollingService\TransferDocumentFileDrop\TransferDocument-wrapped-JBI.xml > could not be handled successfully: null > org.apache.cxf.interceptor.Fault > at > org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:119) > at > org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault(JAXWSMethodInvoker.java:73) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:107) > at > org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:97) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78) > at > org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156) > at > org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:283) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510) > at > org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620) > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.NullPointerException > at > com.mycompany.services.domain.TransferDocumentDataAccessImpl.save(TransferDocumentDataAccessImpl.java:34) > 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 > org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:136) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82) > ... 20 more > -- View this message in context: http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24942974.html Sent from the ServiceMix - User mailing list archive at Nabble.com.