You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Brian Taylor <br...@briantaylor.us> on 2009/08/12 20:48:15 UTC

CXF SE: null XML Payload after unmarshall

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
<file:poller 
		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
<jbi: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">
	<jbi:part>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>       
    		</dom:TransferHeader>
  		</dom:TransferDocument>
	</jbi:part>
</jbi:message>

[3] EIP Pipeline Route SU
<eip:pipeline 
		service="stSvc:PipelineRoutingService" 
		endpoint="SaveTransferDocumentRoute">
		<eip:transformer>
	    	<eip:exchange-target 
				service="stSvc:TransferDocumentDataAccessImplService" 
				endpoint="TransferDocumentDataAccessImplPort"
				operation="stSvc:save"/>
	  	</eip:transformer>
	  	<eip:target>
	    	<eip:exchange-target 
				service="wsn:NotificationBroker"
				endpoint="Broker"
				operation="wsn:Notify"/>
	  	</eip:target>
	</eip:pipeline>

[4] CXF SE SU
<cxfse:endpoint>
		<cxfse:pojo>
			<bean
class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
		</cxfse:pojo>
	</cxfse:endpoint>

[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
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions 
	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/">
  <wsdl:types>
<xs:schema 
	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/">
<xs:import namespace="http://www.mycompany.com/domain"/>
<xs:element name="load" type="tns:load"/>
<xs:element name="loadResponse" type="tns:loadResponse"/>
<xs:element name="save" type="tns:save"/>
<xs:element name="saveResponse" type="tns:saveResponse"/>
<xs:complexType name="load">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="loadResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="save">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="saveResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ImproperArgumentWebFault"
type="tns:ImproperArgumentWebFault"/>
<xs:complexType name="ImproperArgumentWebFault">
<xs:sequence/>
</xs:complexType>
<xs:element name="DataAccessRetryWebFault"
type="tns:DataAccessRetryWebFault"/>
<xs:complexType name="DataAccessRetryWebFault">
<xs:sequence/>
</xs:complexType>
<xs:element name="DataAccessNotFoundWebFault"
type="tns:DataAccessNotFoundWebFault"/>
<xs:complexType name="DataAccessNotFoundWebFault">
<xs:sequence/>
</xs:complexType>
<xs:element name="DataAccessConstraintWebFault"
type="tns:DataAccessConstraintWebFault"/>
<xs:complexType name="DataAccessConstraintWebFault">
<xs:sequence/>
</xs:complexType>
<xs:element name="DataAccessDuplicateWebFault"
type="tns:DataAccessDuplicateWebFault"/>
<xs:complexType name="DataAccessDuplicateWebFault">
<xs:sequence/>
</xs:complexType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.mycompany.com/domain"
attributeFormDefault="unqualified" elementFormDefault="unqualified"
targetNamespace="http://www.mycompany.com/domain">
<xs:element name="TransferDocument" nillable="true"
type="tns:TransferDocument"/>
<xs:element name="TransferHeader" nillable="true"
type="tns:TransferHeader"/>
<xs:complexType name="TransferDocument">
<xs:sequence>
<xs:element minOccurs="0" name="TransferHeader" type="tns:TransferHeader"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="TransferDetail"
type="tns:TransferDetail"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransferHeader">
<xs:sequence>
<xs:element minOccurs="0" name="Organization" type="tns:Organization"/>
</xs:sequence>
<xs:attribute name="transferId" type="xs:int"/>
</xs:complexType>
<xs:complexType name="Organization">
<xs:sequence>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:complexType name="TransferDetail">
<xs:sequence>
</xs:sequence>
<xs:attribute name="transferDetailId" type="xs:int"/>
<xs:attribute name="transferId" type="xs:int"/>
</xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="DataAccessConstraintWebFault">
    <wsdl:part element="tns:DataAccessConstraintWebFault"
name="DataAccessConstraintWebFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ImproperArgumentWebFault">
    <wsdl:part element="tns:ImproperArgumentWebFault"
name="ImproperArgumentWebFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="load">
    <wsdl:part element="tns:load" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="DataAccessDuplicateWebFault">
    <wsdl:part element="tns:DataAccessDuplicateWebFault"
name="DataAccessDuplicateWebFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="DataAccessRetryWebFault">
    <wsdl:part element="tns:DataAccessRetryWebFault"
name="DataAccessRetryWebFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="DataAccessNotFoundWebFault">
    <wsdl:part element="tns:DataAccessNotFoundWebFault"
name="DataAccessNotFoundWebFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="loadResponse">
    <wsdl:part element="tns:loadResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveResponse">
    <wsdl:part element="tns:saveResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="save">
    <wsdl:part element="tns:save" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="TransferDocumentDataAccess">
    <wsdl:operation name="load">
      <wsdl:input message="tns:load" name="load">
    </wsdl:input>
      <wsdl:output message="tns:loadResponse" name="loadResponse">
    </wsdl:output>
      <wsdl:fault message="tns:DataAccessNotFoundWebFault"
name="DataAccessNotFoundWebFault">
    </wsdl:fault>
      <wsdl:fault message="tns:ImproperArgumentWebFault"
name="ImproperArgumentWebFault">
    </wsdl:fault>
      <wsdl:fault message="tns:DataAccessRetryWebFault"
name="DataAccessRetryWebFault">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="save">
      <wsdl:input message="tns:save" name="save">
    </wsdl:input>
      <wsdl:output message="tns:saveResponse" name="saveResponse">
    </wsdl:output>
      <wsdl:fault message="tns:DataAccessConstraintWebFault"
name="DataAccessConstraintWebFault">
    </wsdl:fault>
      <wsdl:fault message="tns:ImproperArgumentWebFault"
name="ImproperArgumentWebFault">
    </wsdl:fault>
      <wsdl:fault message="tns:DataAccessDuplicateWebFault"
name="DataAccessDuplicateWebFault">
    </wsdl:fault>
      <wsdl:fault message="tns:DataAccessRetryWebFault"
name="DataAccessRetryWebFault">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="TransferDocumentDataAccessImplServiceJBIBinding"
type="tns:TransferDocumentDataAccess">
    <wsdl:operation name="load">
      <wsdl:input name="load">
      </wsdl:input>
      <wsdl:output name="loadResponse">
      </wsdl:output>
      <wsdl:fault name="DataAccessNotFoundWebFault">
      </wsdl:fault>
      <wsdl:fault name="ImproperArgumentWebFault">
      </wsdl:fault>
      <wsdl:fault name="DataAccessRetryWebFault">
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="save">
      <wsdl:input name="save">
      </wsdl:input>
      <wsdl:output name="saveResponse">
      </wsdl:output>
      <wsdl:fault name="DataAccessConstraintWebFault">
      </wsdl:fault>
      <wsdl:fault name="ImproperArgumentWebFault">
      </wsdl:fault>
      <wsdl:fault name="DataAccessDuplicateWebFault">
      </wsdl:fault>
      <wsdl:fault name="DataAccessRetryWebFault">
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="TransferDocumentDataAccessImplService">
    <wsdl:port binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
name="TransferDocumentDataAccessImplPort">
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

[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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
	<jbi:part>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>       
    		</dom:TransferHeader>
  		</dom:TransferDocument>
	</jbi:part>
</jbi:message>
]
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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
	<jbi:part>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>       
    		</dom:TransferHeader>
  		</dom:TransferDocument>
	</jbi:part>
</jbi:message>
]
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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
	<jbi:part>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>       
    		</dom:TransferHeader>
  		</dom:TransferDocument>
	</jbi:part>
</jbi:message>
  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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
	<jbi:part>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>       
    		</dom:TransferHeader>
  		</dom:TransferDocument>
	</jbi:part>
</jbi:message>
  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-tp24942525p24942525.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF SE: null XML Payload after unmarshall

Posted by Brian Taylor <br...@briantaylor.us>.
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
> <file:poller 
> 		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
> <jbi: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">
> 	<jbi:part>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>       
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
> 
> [3] EIP Pipeline Route SU
> <eip:pipeline 
> 		service="stSvc:PipelineRoutingService" 
> 		endpoint="SaveTransferDocumentRoute">
> 		<eip:transformer>
> 	    	<eip:exchange-target 
> 				service="stSvc:TransferDocumentDataAccessImplService" 
> 				endpoint="TransferDocumentDataAccessImplPort"
> 				operation="stSvc:save"/>
> 	  	</eip:transformer>
> 	  	<eip:target>
> 	    	<eip:exchange-target 
> 				service="wsn:NotificationBroker"
> 				endpoint="Broker"
> 				operation="wsn:Notify"/>
> 	  	</eip:target>
> 	</eip:pipeline>
> 
> [4] CXF SE SU
> <cxfse:endpoint>
> 		<cxfse:pojo>
> 			<bean
> class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
> 		</cxfse:pojo>
> 	</cxfse:endpoint>
> 
> [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
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions 
> 	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/">
>   <wsdl:types>
> <xs:schema 
> 	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/">
> <xs:import namespace="http://www.mycompany.com/domain"/>
> <xs:element name="load" type="tns:load"/>
> <xs:element name="loadResponse" type="tns:loadResponse"/>
> <xs:element name="save" type="tns:save"/>
> <xs:element name="saveResponse" type="tns:saveResponse"/>
> <xs:complexType name="load">
> <xs:sequence>
> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="loadResponse">
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="save">
> <xs:sequence>
> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="saveResponse">
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="ImproperArgumentWebFault"
> type="tns:ImproperArgumentWebFault"/>
> <xs:complexType name="ImproperArgumentWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessRetryWebFault"
> type="tns:DataAccessRetryWebFault"/>
> <xs:complexType name="DataAccessRetryWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessNotFoundWebFault"
> type="tns:DataAccessNotFoundWebFault"/>
> <xs:complexType name="DataAccessNotFoundWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessConstraintWebFault"
> type="tns:DataAccessConstraintWebFault"/>
> <xs:complexType name="DataAccessConstraintWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessDuplicateWebFault"
> type="tns:DataAccessDuplicateWebFault"/>
> <xs:complexType name="DataAccessDuplicateWebFault">
> <xs:sequence/>
> </xs:complexType>
> </xs:schema>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:tns="http://www.mycompany.com/domain"
> attributeFormDefault="unqualified" elementFormDefault="unqualified"
> targetNamespace="http://www.mycompany.com/domain">
> <xs:element name="TransferDocument" nillable="true"
> type="tns:TransferDocument"/>
> <xs:element name="TransferHeader" nillable="true"
> type="tns:TransferHeader"/>
> <xs:complexType name="TransferDocument">
> <xs:sequence>
> <xs:element minOccurs="0" name="TransferHeader"
> type="tns:TransferHeader"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="TransferDetail"
> type="tns:TransferDetail"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="TransferHeader">
> <xs:sequence>
> <xs:element minOccurs="0" name="Organization" type="tns:Organization"/>
> </xs:sequence>
> <xs:attribute name="transferId" type="xs:int"/>
> </xs:complexType>
> <xs:complexType name="Organization">
> <xs:sequence>
> </xs:sequence>
> <xs:attribute name="id" type="xs:int"/>
> </xs:complexType>
> <xs:complexType name="TransferDetail">
> <xs:sequence>
> </xs:sequence>
> <xs:attribute name="transferDetailId" type="xs:int"/>
> <xs:attribute name="transferId" type="xs:int"/>
> </xs:complexType>
> </xs:schema>
>   </wsdl:types>
>   <wsdl:message name="DataAccessConstraintWebFault">
>     <wsdl:part element="tns:DataAccessConstraintWebFault"
> name="DataAccessConstraintWebFault">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="ImproperArgumentWebFault">
>     <wsdl:part element="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="load">
>     <wsdl:part element="tns:load" name="parameters">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="DataAccessDuplicateWebFault">
>     <wsdl:part element="tns:DataAccessDuplicateWebFault"
> name="DataAccessDuplicateWebFault">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="DataAccessRetryWebFault">
>     <wsdl:part element="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="DataAccessNotFoundWebFault">
>     <wsdl:part element="tns:DataAccessNotFoundWebFault"
> name="DataAccessNotFoundWebFault">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="loadResponse">
>     <wsdl:part element="tns:loadResponse" name="parameters">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="saveResponse">
>     <wsdl:part element="tns:saveResponse" name="parameters">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="save">
>     <wsdl:part element="tns:save" name="parameters">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:portType name="TransferDocumentDataAccess">
>     <wsdl:operation name="load">
>       <wsdl:input message="tns:load" name="load">
>     </wsdl:input>
>       <wsdl:output message="tns:loadResponse" name="loadResponse">
>     </wsdl:output>
>       <wsdl:fault message="tns:DataAccessNotFoundWebFault"
> name="DataAccessNotFoundWebFault">
>     </wsdl:fault>
>       <wsdl:fault message="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>     </wsdl:fault>
>       <wsdl:fault message="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>     </wsdl:fault>
>     </wsdl:operation>
>     <wsdl:operation name="save">
>       <wsdl:input message="tns:save" name="save">
>     </wsdl:input>
>       <wsdl:output message="tns:saveResponse" name="saveResponse">
>     </wsdl:output>
>       <wsdl:fault message="tns:DataAccessConstraintWebFault"
> name="DataAccessConstraintWebFault">
>     </wsdl:fault>
>       <wsdl:fault message="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>     </wsdl:fault>
>       <wsdl:fault message="tns:DataAccessDuplicateWebFault"
> name="DataAccessDuplicateWebFault">
>     </wsdl:fault>
>       <wsdl:fault message="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>     </wsdl:fault>
>     </wsdl:operation>
>   </wsdl:portType>
>   <wsdl:binding name="TransferDocumentDataAccessImplServiceJBIBinding"
> type="tns:TransferDocumentDataAccess">
>     <wsdl:operation name="load">
>       <wsdl:input name="load">
>       </wsdl:input>
>       <wsdl:output name="loadResponse">
>       </wsdl:output>
>       <wsdl:fault name="DataAccessNotFoundWebFault">
>       </wsdl:fault>
>       <wsdl:fault name="ImproperArgumentWebFault">
>       </wsdl:fault>
>       <wsdl:fault name="DataAccessRetryWebFault">
>       </wsdl:fault>
>     </wsdl:operation>
>     <wsdl:operation name="save">
>       <wsdl:input name="save">
>       </wsdl:input>
>       <wsdl:output name="saveResponse">
>       </wsdl:output>
>       <wsdl:fault name="DataAccessConstraintWebFault">
>       </wsdl:fault>
>       <wsdl:fault name="ImproperArgumentWebFault">
>       </wsdl:fault>
>       <wsdl:fault name="DataAccessDuplicateWebFault">
>       </wsdl:fault>
>       <wsdl:fault name="DataAccessRetryWebFault">
>       </wsdl:fault>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:service name="TransferDocumentDataAccessImplService">
>     <wsdl:port
> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
> name="TransferDocumentDataAccessImplPort">
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> 
> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>       
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
> ]
> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>       
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
> ]
> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>       
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
>   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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>       
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
>   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.


Re: CXF SE: null XML Payload after unmarshall

Posted by Brian Taylor <br...@briantaylor.us>.
Thanks Freeman, that did work; we now have bare style services. 

About the tradeoffs...an obvious downside to the wrapped services is that we
have to wrap/unwrap every service call with a call to a transform service in
the Saxon SE which seems like extra work I would like to avoid if possible.
What are some of the upsides to using wrapped services?


Freeman Fang wrote:
> 
> 
> On 2009-8-14, at 上午2:24, Brian Taylor wrote:
> 
>>
>> Thanks Freeman, I was using version 3.3 and just downloaded 3.3.1  
>> which I
>> discovered is using the new 2009.01 components - I should have known  
>> to try
>> this first! The 2009.01 CXF SE supports the 'useSOAPEnvelope=false'
>> parameter. Thanks for the help and patience. :)
>>
>> The problem now is that when I set both useJBIWrapper and  
>> useSOAPEnvelope
>> parameters on the CXF SE Endpoint the CXF SE's DocLiteralInInterceptor
>> throws an exception stating:  "Message part
>> {http://www.mycompany.com/domain}TransferDocument was not  
>> recognized. (Does
>> it exist in service WSDL?)"
>>
>> This is the route:
>>
>> InOnly: File BC (has to be a bare message:
>> <dom:TransferDocument><dom:TransferHeader/></dom:TransferDocument>)
>> =>
>> InOnly: EIP SE (Pipeline route su - sets 'srv:save' operation on first
>> exchange target then 'wsn:notify' on second)
>> =>
>> In/Out: CXF SE: DocLiteralInInterceptor throws exception stating:  
>> "Message
>> part {http://www.mycompany.com/domain}TransferDocument was not  
>> recognized.
>> (Does it exist in service WSDL?)"
>> =>
>> InOnly: WSN2005 SE (haven't got here yet)
>>
>> Is it possible that the CXF SE is generating Wrapped parameter style  
>> service
>> and not a Bare parameter style service and expecting this to have a  
>> <save>
>> element? If so, how can I get this to generate the Bare style? I  
>> noticed in
>> the CXF SE Component class the following configuration files:
> yeah, that's because the service model generated from your java class  
> used in cxf se is wrapped mode, so you need a save element as wrapper.
> 
> As there's no anntotation in your java class, so by default the  
> java2wsdl (also same rule applied for the service model generated from  
> your java class) will generate the doc-wrapped wsdl(you can see it  
> from the generated wsdl as you already appended). To generated bare  
> mode, you need add annotation like ParameterStyle.BARE for your java  
> class, you can get details from [1], generally the annotation can   
> control everything from your java class.
> Btw, the doc/wrapped mode is the recommand  one as it has lots of  
> benifits, not sure why you want to use the bare mode.
> 
> If the message you get from file is bare mode, actually you can use  
> servicemix-camel or servicemix-saxon which use xslt inside to change  
> the message to wrapped mode.
> Hope this helps
> [1]http://docs.huihoo.com/apache/cxf/2.0/developing-a-service.html
> 
> Freeman
>>
>> "META-INF/cxf/cxf.xml",
>> "META-INF/cxf/cxf-extension-soap.xml",
>> "META-INF/cxf/transport/jbi/cxf-transport-jbi.xml",
>> "META-INF/cxf/binding/jbi/cxf-binding-jbi.xml"
>>
>> Will these help here and if so, where can I get information on them?  
>> If not,
>> are there any other options?
>>
>> Thanks again!
>>
>> Respectfully,
>> Brian
>>
>>
>> Brian Taylor wrote:
>>>
>>> Does CXF SE always generate Wrapped services (e.g. <save>  
>>> wrappers)? Can I
>>> get it to generate Bare services (no parameter wrapping)?
>>>
>>>
>>> Freeman Fang wrote:
>>>>
>>>> Hi,
>>>>
>>>> My comment inline
>>>> On 2009-8-13, at 上午2:48, 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).
>>>> Set both seJBIWrapper="false" and useSOAPEnvelope="false" to get  
>>>> what
>>>> you want
>>>> You see the exception because you are not use the version including
>>>> the useSOAPEnvelope attribute.
>>>> What's the smx version you are using?
>>>> You can try with FUSE ESB (which is based on apache servicemix but  
>>>> get
>>>> released more frequently).
>>>> FUSE ESB 3.3.x[1]match smx 3.2.x and FUSE ESB 3.4.x[2] match smx  
>>>> 3.3.x
>>>> [1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.20-fuse/
>>>> [2]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.4-fuse/
>>>>>
>>>>> Thanks again for any help, this is really stumping me.
>>>>>
>>>>> Brian
>>>>>
>>>>> [1] File BC SU
>>>>> <file:poller
>>>>> 		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
>>>>> <jbi: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">
>>>>> 	<jbi:part>
>>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>>> domain">
>>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>>      			<dom:Organization id="123456"/>
>>>>>   		</dom:TransferHeader>
>>>>> 		</dom:TransferDocument>
>>>>> 	</jbi:part>
>>>>> </jbi:message>
>>>> This message is invalid for cxf se based on the wsdl model used in  
>>>> cxf
>>>> se, if you want to call save method, it should be like
>>>>
>>>> <jbi: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">
>>>> 	<jbi:part>
>>>>                <dom:save>
>>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>       			<dom:Organization id="123456"/>
>>>>    		</dom:TransferHeader>
>>>>  		</dom:TransferDocument>
>>>>              </dom:save>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>>>
>>>> You miss save element. If you are not sure what's the jbi message
>>>> should be, one solution is you just use a simple flow like
>>>> external client==>cxf-bc===> cxf-se, and turn on the debug log then
>>>> you can see the correct jbi message which is changed from the  
>>>> incoming
>>>> soap message.
>>>>
>>>> Freeman
>>>>
>>>>>
>>>>> [3] EIP Pipeline Route SU
>>>>> <eip:pipeline
>>>>> 		service="stSvc:PipelineRoutingService"
>>>>> 		endpoint="SaveTransferDocumentRoute">
>>>>> 		<eip:transformer>
>>>>> 	    	<eip:exchange-target
>>>>> 				service="stSvc:TransferDocumentDataAccessImplService"
>>>>> 				endpoint="TransferDocumentDataAccessImplPort"
>>>>> 				operation="stSvc:save"/>
>>>>> 	  	</eip:transformer>
>>>>> 	  	<eip:target>
>>>>> 	    	<eip:exchange-target
>>>>> 				service="wsn:NotificationBroker"
>>>>> 				endpoint="Broker"
>>>>> 				operation="wsn:Notify"/>
>>>>> 	  	</eip:target>
>>>>> 	</eip:pipeline>
>>>>>
>>>>> [4] CXF SE SU
>>>>> <cxfse:endpoint>
>>>>> 		<cxfse:pojo>
>>>>> 			<bean
>>>>> class 
>>>>> ="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
>>>>> 		</cxfse:pojo>
>>>>> 	</cxfse:endpoint>
>>>>>
>>>>> [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
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <wsdl:definitions
>>>>> 	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/">
>>>>> <wsdl:types>
>>>>> <xs:schema
>>>>> 	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/">
>>>>> <xs:import namespace="http://www.mycompany.com/domain"/>
>>>>> <xs:element name="load" type="tns:load"/>
>>>>> <xs:element name="loadResponse" type="tns:loadResponse"/>
>>>>> <xs:element name="save" type="tns:save"/>
>>>>> <xs:element name="saveResponse" type="tns:saveResponse"/>
>>>>> <xs:complexType name="load">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="loadResponse">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="return"  
>>>>> type="ns1:TransferDocument"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="save">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="saveResponse">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="return"  
>>>>> type="ns1:TransferDocument"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="ImproperArgumentWebFault"
>>>>> type="tns:ImproperArgumentWebFault"/>
>>>>> <xs:complexType name="ImproperArgumentWebFault">
>>>>> <xs:sequence/>
>>>>> </xs:complexType>
>>>>> <xs:element name="DataAccessRetryWebFault"
>>>>> type="tns:DataAccessRetryWebFault"/>
>>>>> <xs:complexType name="DataAccessRetryWebFault">
>>>>> <xs:sequence/>
>>>>> </xs:complexType>
>>>>> <xs:element name="DataAccessNotFoundWebFault"
>>>>> type="tns:DataAccessNotFoundWebFault"/>
>>>>> <xs:complexType name="DataAccessNotFoundWebFault">
>>>>> <xs:sequence/>
>>>>> </xs:complexType>
>>>>> <xs:element name="DataAccessConstraintWebFault"
>>>>> type="tns:DataAccessConstraintWebFault"/>
>>>>> <xs:complexType name="DataAccessConstraintWebFault">
>>>>> <xs:sequence/>
>>>>> </xs:complexType>
>>>>> <xs:element name="DataAccessDuplicateWebFault"
>>>>> type="tns:DataAccessDuplicateWebFault"/>
>>>>> <xs:complexType name="DataAccessDuplicateWebFault">
>>>>> <xs:sequence/>
>>>>> </xs:complexType>
>>>>> </xs:schema>
>>>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>>> xmlns:tns="http://www.mycompany.com/domain"
>>>>> attributeFormDefault="unqualified" elementFormDefault="unqualified"
>>>>> targetNamespace="http://www.mycompany.com/domain">
>>>>> <xs:element name="TransferDocument" nillable="true"
>>>>> type="tns:TransferDocument"/>
>>>>> <xs:element name="TransferHeader" nillable="true"
>>>>> type="tns:TransferHeader"/>
>>>>> <xs:complexType name="TransferDocument">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="TransferHeader"
>>>>> type="tns:TransferHeader"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0"  
>>>>> name="TransferDetail"
>>>>> type="tns:TransferDetail"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="TransferHeader">
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="Organization"
>>>>> type="tns:Organization"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="transferId" type="xs:int"/>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="Organization">
>>>>> <xs:sequence>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="id" type="xs:int"/>
>>>>> </xs:complexType>
>>>>> <xs:complexType name="TransferDetail">
>>>>> <xs:sequence>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="transferDetailId" type="xs:int"/>
>>>>> <xs:attribute name="transferId" type="xs:int"/>
>>>>> </xs:complexType>
>>>>> </xs:schema>
>>>>> </wsdl:types>
>>>>> <wsdl:message name="DataAccessConstraintWebFault">
>>>>>   <wsdl:part element="tns:DataAccessConstraintWebFault"
>>>>> name="DataAccessConstraintWebFault">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="ImproperArgumentWebFault">
>>>>>   <wsdl:part element="tns:ImproperArgumentWebFault"
>>>>> name="ImproperArgumentWebFault">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="load">
>>>>>   <wsdl:part element="tns:load" name="parameters">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="DataAccessDuplicateWebFault">
>>>>>   <wsdl:part element="tns:DataAccessDuplicateWebFault"
>>>>> name="DataAccessDuplicateWebFault">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="DataAccessRetryWebFault">
>>>>>   <wsdl:part element="tns:DataAccessRetryWebFault"
>>>>> name="DataAccessRetryWebFault">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="DataAccessNotFoundWebFault">
>>>>>   <wsdl:part element="tns:DataAccessNotFoundWebFault"
>>>>> name="DataAccessNotFoundWebFault">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="loadResponse">
>>>>>   <wsdl:part element="tns:loadResponse" name="parameters">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="saveResponse">
>>>>>   <wsdl:part element="tns:saveResponse" name="parameters">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:message name="save">
>>>>>   <wsdl:part element="tns:save" name="parameters">
>>>>>   </wsdl:part>
>>>>> </wsdl:message>
>>>>> <wsdl:portType name="TransferDocumentDataAccess">
>>>>>   <wsdl:operation name="load">
>>>>>     <wsdl:input message="tns:load" name="load">
>>>>>   </wsdl:input>
>>>>>     <wsdl:output message="tns:loadResponse" name="loadResponse">
>>>>>   </wsdl:output>
>>>>>     <wsdl:fault message="tns:DataAccessNotFoundWebFault"
>>>>> name="DataAccessNotFoundWebFault">
>>>>>   </wsdl:fault>
>>>>>     <wsdl:fault message="tns:ImproperArgumentWebFault"
>>>>> name="ImproperArgumentWebFault">
>>>>>   </wsdl:fault>
>>>>>     <wsdl:fault message="tns:DataAccessRetryWebFault"
>>>>> name="DataAccessRetryWebFault">
>>>>>   </wsdl:fault>
>>>>>   </wsdl:operation>
>>>>>   <wsdl:operation name="save">
>>>>>     <wsdl:input message="tns:save" name="save">
>>>>>   </wsdl:input>
>>>>>     <wsdl:output message="tns:saveResponse" name="saveResponse">
>>>>>   </wsdl:output>
>>>>>     <wsdl:fault message="tns:DataAccessConstraintWebFault"
>>>>> name="DataAccessConstraintWebFault">
>>>>>   </wsdl:fault>
>>>>>     <wsdl:fault message="tns:ImproperArgumentWebFault"
>>>>> name="ImproperArgumentWebFault">
>>>>>   </wsdl:fault>
>>>>>     <wsdl:fault message="tns:DataAccessDuplicateWebFault"
>>>>> name="DataAccessDuplicateWebFault">
>>>>>   </wsdl:fault>
>>>>>     <wsdl:fault message="tns:DataAccessRetryWebFault"
>>>>> name="DataAccessRetryWebFault">
>>>>>   </wsdl:fault>
>>>>>   </wsdl:operation>
>>>>> </wsdl:portType>
>>>>> <wsdl:binding  
>>>>> name="TransferDocumentDataAccessImplServiceJBIBinding"
>>>>> type="tns:TransferDocumentDataAccess">
>>>>>   <wsdl:operation name="load">
>>>>>     <wsdl:input name="load">
>>>>>     </wsdl:input>
>>>>>     <wsdl:output name="loadResponse">
>>>>>     </wsdl:output>
>>>>>     <wsdl:fault name="DataAccessNotFoundWebFault">
>>>>>     </wsdl:fault>
>>>>>     <wsdl:fault name="ImproperArgumentWebFault">
>>>>>     </wsdl:fault>
>>>>>     <wsdl:fault name="DataAccessRetryWebFault">
>>>>>     </wsdl:fault>
>>>>>   </wsdl:operation>
>>>>>   <wsdl:operation name="save">
>>>>>     <wsdl:input name="save">
>>>>>     </wsdl:input>
>>>>>     <wsdl:output name="saveResponse">
>>>>>     </wsdl:output>
>>>>>     <wsdl:fault name="DataAccessConstraintWebFault">
>>>>>     </wsdl:fault>
>>>>>     <wsdl:fault name="ImproperArgumentWebFault">
>>>>>     </wsdl:fault>
>>>>>     <wsdl:fault name="DataAccessDuplicateWebFault">
>>>>>     </wsdl:fault>
>>>>>     <wsdl:fault name="DataAccessRetryWebFault">
>>>>>     </wsdl:fault>
>>>>>   </wsdl:operation>
>>>>> </wsdl:binding>
>>>>> <wsdl:service name="TransferDocumentDataAccessImplService">
>>>>>   <wsdl:port
>>>>> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
>>>>> name="TransferDocumentDataAccessImplPort">
>>>>>   </wsdl:port>
>>>>> </wsdl:service>
>>>>> </wsdl:definitions>
>>>>>
>>>>> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>>> 	<jbi:part>
>>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>>> domain">
>>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>>      			<dom:Organization id="123456"/>
>>>>>   		</dom:TransferHeader>
>>>>> 		</dom:TransferDocument>
>>>>> 	</jbi:part>
>>>>> </jbi:message>
>>>>> ]
>>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>>> 	<jbi:part>
>>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>>> domain">
>>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>>      			<dom:Organization id="123456"/>
>>>>>   		</dom:TransferHeader>
>>>>> 		</dom:TransferDocument>
>>>>> 	</jbi:part>
>>>>> </jbi:message>
>>>>> ]
>>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>>> 	<jbi:part>
>>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>>> domain">
>>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>>      			<dom:Organization id="123456"/>
>>>>>   		</dom:TransferHeader>
>>>>> 		</dom:TransferDocument>
>>>>> 	</jbi:part>
>>>>> </jbi:message>
>>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>>> 	<jbi:part>
>>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>>> domain">
>>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>>      			<dom:Organization id="123456"/>
>>>>>   		</dom:TransferHeader>
>>>>> 		</dom:TransferDocument>
>>>>> 	</jbi:part>
>>>>> </jbi:message>
>>>>> 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-tp24942525p24942525.html
>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>
>>>>
>>>>
>>>> -- 
>>>> Freeman Fang
>>>> ------------------------
>>>> Open Source SOA: http://fusesource.com
>>>>
>>>>
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24956318.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
> 
> 
> -- 
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24973801.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF SE: null XML Payload after unmarshall

Posted by Freeman Fang <fr...@gmail.com>.
On 2009-8-14, at 上午2:24, Brian Taylor wrote:

>
> Thanks Freeman, I was using version 3.3 and just downloaded 3.3.1  
> which I
> discovered is using the new 2009.01 components - I should have known  
> to try
> this first! The 2009.01 CXF SE supports the 'useSOAPEnvelope=false'
> parameter. Thanks for the help and patience. :)
>
> The problem now is that when I set both useJBIWrapper and  
> useSOAPEnvelope
> parameters on the CXF SE Endpoint the CXF SE's DocLiteralInInterceptor
> throws an exception stating:  "Message part
> {http://www.mycompany.com/domain}TransferDocument was not  
> recognized. (Does
> it exist in service WSDL?)"
>
> This is the route:
>
> InOnly: File BC (has to be a bare message:
> <dom:TransferDocument><dom:TransferHeader/></dom:TransferDocument>)
> =>
> InOnly: EIP SE (Pipeline route su - sets 'srv:save' operation on first
> exchange target then 'wsn:notify' on second)
> =>
> In/Out: CXF SE: DocLiteralInInterceptor throws exception stating:  
> "Message
> part {http://www.mycompany.com/domain}TransferDocument was not  
> recognized.
> (Does it exist in service WSDL?)"
> =>
> InOnly: WSN2005 SE (haven't got here yet)
>
> Is it possible that the CXF SE is generating Wrapped parameter style  
> service
> and not a Bare parameter style service and expecting this to have a  
> <save>
> element? If so, how can I get this to generate the Bare style? I  
> noticed in
> the CXF SE Component class the following configuration files:
yeah, that's because the service model generated from your java class  
used in cxf se is wrapped mode, so you need a save element as wrapper.

As there's no anntotation in your java class, so by default the  
java2wsdl (also same rule applied for the service model generated from  
your java class) will generate the doc-wrapped wsdl(you can see it  
from the generated wsdl as you already appended). To generated bare  
mode, you need add annotation like ParameterStyle.BARE for your java  
class, you can get details from [1], generally the annotation can   
control everything from your java class.
Btw, the doc/wrapped mode is the recommand  one as it has lots of  
benifits, not sure why you want to use the bare mode.

If the message you get from file is bare mode, actually you can use  
servicemix-camel or servicemix-saxon which use xslt inside to change  
the message to wrapped mode.
Hope this helps
[1]http://docs.huihoo.com/apache/cxf/2.0/developing-a-service.html

Freeman
>
> "META-INF/cxf/cxf.xml",
> "META-INF/cxf/cxf-extension-soap.xml",
> "META-INF/cxf/transport/jbi/cxf-transport-jbi.xml",
> "META-INF/cxf/binding/jbi/cxf-binding-jbi.xml"
>
> Will these help here and if so, where can I get information on them?  
> If not,
> are there any other options?
>
> Thanks again!
>
> Respectfully,
> Brian
>
>
> Brian Taylor wrote:
>>
>> Does CXF SE always generate Wrapped services (e.g. <save>  
>> wrappers)? Can I
>> get it to generate Bare services (no parameter wrapping)?
>>
>>
>> Freeman Fang wrote:
>>>
>>> Hi,
>>>
>>> My comment inline
>>> On 2009-8-13, at 上午2:48, 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).
>>> Set both seJBIWrapper="false" and useSOAPEnvelope="false" to get  
>>> what
>>> you want
>>> You see the exception because you are not use the version including
>>> the useSOAPEnvelope attribute.
>>> What's the smx version you are using?
>>> You can try with FUSE ESB (which is based on apache servicemix but  
>>> get
>>> released more frequently).
>>> FUSE ESB 3.3.x[1]match smx 3.2.x and FUSE ESB 3.4.x[2] match smx  
>>> 3.3.x
>>> [1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.20-fuse/
>>> [2]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.4-fuse/
>>>>
>>>> Thanks again for any help, this is really stumping me.
>>>>
>>>> Brian
>>>>
>>>> [1] File BC SU
>>>> <file:poller
>>>> 		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
>>>> <jbi: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">
>>>> 	<jbi:part>
>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>      			<dom:Organization id="123456"/>
>>>>   		</dom:TransferHeader>
>>>> 		</dom:TransferDocument>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>> This message is invalid for cxf se based on the wsdl model used in  
>>> cxf
>>> se, if you want to call save method, it should be like
>>>
>>> <jbi: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">
>>> 	<jbi:part>
>>>                <dom:save>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>> domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>>              </dom:save>
>>> 	</jbi:part>
>>> </jbi:message>
>>>
>>> You miss save element. If you are not sure what's the jbi message
>>> should be, one solution is you just use a simple flow like
>>> external client==>cxf-bc===> cxf-se, and turn on the debug log then
>>> you can see the correct jbi message which is changed from the  
>>> incoming
>>> soap message.
>>>
>>> Freeman
>>>
>>>>
>>>> [3] EIP Pipeline Route SU
>>>> <eip:pipeline
>>>> 		service="stSvc:PipelineRoutingService"
>>>> 		endpoint="SaveTransferDocumentRoute">
>>>> 		<eip:transformer>
>>>> 	    	<eip:exchange-target
>>>> 				service="stSvc:TransferDocumentDataAccessImplService"
>>>> 				endpoint="TransferDocumentDataAccessImplPort"
>>>> 				operation="stSvc:save"/>
>>>> 	  	</eip:transformer>
>>>> 	  	<eip:target>
>>>> 	    	<eip:exchange-target
>>>> 				service="wsn:NotificationBroker"
>>>> 				endpoint="Broker"
>>>> 				operation="wsn:Notify"/>
>>>> 	  	</eip:target>
>>>> 	</eip:pipeline>
>>>>
>>>> [4] CXF SE SU
>>>> <cxfse:endpoint>
>>>> 		<cxfse:pojo>
>>>> 			<bean
>>>> class 
>>>> ="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
>>>> 		</cxfse:pojo>
>>>> 	</cxfse:endpoint>
>>>>
>>>> [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
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <wsdl:definitions
>>>> 	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/">
>>>> <wsdl:types>
>>>> <xs:schema
>>>> 	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/">
>>>> <xs:import namespace="http://www.mycompany.com/domain"/>
>>>> <xs:element name="load" type="tns:load"/>
>>>> <xs:element name="loadResponse" type="tns:loadResponse"/>
>>>> <xs:element name="save" type="tns:save"/>
>>>> <xs:element name="saveResponse" type="tns:saveResponse"/>
>>>> <xs:complexType name="load">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> <xs:complexType name="loadResponse">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="return"  
>>>> type="ns1:TransferDocument"/>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> <xs:complexType name="save">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> <xs:complexType name="saveResponse">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="return"  
>>>> type="ns1:TransferDocument"/>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> <xs:element name="ImproperArgumentWebFault"
>>>> type="tns:ImproperArgumentWebFault"/>
>>>> <xs:complexType name="ImproperArgumentWebFault">
>>>> <xs:sequence/>
>>>> </xs:complexType>
>>>> <xs:element name="DataAccessRetryWebFault"
>>>> type="tns:DataAccessRetryWebFault"/>
>>>> <xs:complexType name="DataAccessRetryWebFault">
>>>> <xs:sequence/>
>>>> </xs:complexType>
>>>> <xs:element name="DataAccessNotFoundWebFault"
>>>> type="tns:DataAccessNotFoundWebFault"/>
>>>> <xs:complexType name="DataAccessNotFoundWebFault">
>>>> <xs:sequence/>
>>>> </xs:complexType>
>>>> <xs:element name="DataAccessConstraintWebFault"
>>>> type="tns:DataAccessConstraintWebFault"/>
>>>> <xs:complexType name="DataAccessConstraintWebFault">
>>>> <xs:sequence/>
>>>> </xs:complexType>
>>>> <xs:element name="DataAccessDuplicateWebFault"
>>>> type="tns:DataAccessDuplicateWebFault"/>
>>>> <xs:complexType name="DataAccessDuplicateWebFault">
>>>> <xs:sequence/>
>>>> </xs:complexType>
>>>> </xs:schema>
>>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> xmlns:tns="http://www.mycompany.com/domain"
>>>> attributeFormDefault="unqualified" elementFormDefault="unqualified"
>>>> targetNamespace="http://www.mycompany.com/domain">
>>>> <xs:element name="TransferDocument" nillable="true"
>>>> type="tns:TransferDocument"/>
>>>> <xs:element name="TransferHeader" nillable="true"
>>>> type="tns:TransferHeader"/>
>>>> <xs:complexType name="TransferDocument">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="TransferHeader"
>>>> type="tns:TransferHeader"/>
>>>> <xs:element maxOccurs="unbounded" minOccurs="0"  
>>>> name="TransferDetail"
>>>> type="tns:TransferDetail"/>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> <xs:complexType name="TransferHeader">
>>>> <xs:sequence>
>>>> <xs:element minOccurs="0" name="Organization"
>>>> type="tns:Organization"/>
>>>> </xs:sequence>
>>>> <xs:attribute name="transferId" type="xs:int"/>
>>>> </xs:complexType>
>>>> <xs:complexType name="Organization">
>>>> <xs:sequence>
>>>> </xs:sequence>
>>>> <xs:attribute name="id" type="xs:int"/>
>>>> </xs:complexType>
>>>> <xs:complexType name="TransferDetail">
>>>> <xs:sequence>
>>>> </xs:sequence>
>>>> <xs:attribute name="transferDetailId" type="xs:int"/>
>>>> <xs:attribute name="transferId" type="xs:int"/>
>>>> </xs:complexType>
>>>> </xs:schema>
>>>> </wsdl:types>
>>>> <wsdl:message name="DataAccessConstraintWebFault">
>>>>   <wsdl:part element="tns:DataAccessConstraintWebFault"
>>>> name="DataAccessConstraintWebFault">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="ImproperArgumentWebFault">
>>>>   <wsdl:part element="tns:ImproperArgumentWebFault"
>>>> name="ImproperArgumentWebFault">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="load">
>>>>   <wsdl:part element="tns:load" name="parameters">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="DataAccessDuplicateWebFault">
>>>>   <wsdl:part element="tns:DataAccessDuplicateWebFault"
>>>> name="DataAccessDuplicateWebFault">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="DataAccessRetryWebFault">
>>>>   <wsdl:part element="tns:DataAccessRetryWebFault"
>>>> name="DataAccessRetryWebFault">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="DataAccessNotFoundWebFault">
>>>>   <wsdl:part element="tns:DataAccessNotFoundWebFault"
>>>> name="DataAccessNotFoundWebFault">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="loadResponse">
>>>>   <wsdl:part element="tns:loadResponse" name="parameters">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="saveResponse">
>>>>   <wsdl:part element="tns:saveResponse" name="parameters">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:message name="save">
>>>>   <wsdl:part element="tns:save" name="parameters">
>>>>   </wsdl:part>
>>>> </wsdl:message>
>>>> <wsdl:portType name="TransferDocumentDataAccess">
>>>>   <wsdl:operation name="load">
>>>>     <wsdl:input message="tns:load" name="load">
>>>>   </wsdl:input>
>>>>     <wsdl:output message="tns:loadResponse" name="loadResponse">
>>>>   </wsdl:output>
>>>>     <wsdl:fault message="tns:DataAccessNotFoundWebFault"
>>>> name="DataAccessNotFoundWebFault">
>>>>   </wsdl:fault>
>>>>     <wsdl:fault message="tns:ImproperArgumentWebFault"
>>>> name="ImproperArgumentWebFault">
>>>>   </wsdl:fault>
>>>>     <wsdl:fault message="tns:DataAccessRetryWebFault"
>>>> name="DataAccessRetryWebFault">
>>>>   </wsdl:fault>
>>>>   </wsdl:operation>
>>>>   <wsdl:operation name="save">
>>>>     <wsdl:input message="tns:save" name="save">
>>>>   </wsdl:input>
>>>>     <wsdl:output message="tns:saveResponse" name="saveResponse">
>>>>   </wsdl:output>
>>>>     <wsdl:fault message="tns:DataAccessConstraintWebFault"
>>>> name="DataAccessConstraintWebFault">
>>>>   </wsdl:fault>
>>>>     <wsdl:fault message="tns:ImproperArgumentWebFault"
>>>> name="ImproperArgumentWebFault">
>>>>   </wsdl:fault>
>>>>     <wsdl:fault message="tns:DataAccessDuplicateWebFault"
>>>> name="DataAccessDuplicateWebFault">
>>>>   </wsdl:fault>
>>>>     <wsdl:fault message="tns:DataAccessRetryWebFault"
>>>> name="DataAccessRetryWebFault">
>>>>   </wsdl:fault>
>>>>   </wsdl:operation>
>>>> </wsdl:portType>
>>>> <wsdl:binding  
>>>> name="TransferDocumentDataAccessImplServiceJBIBinding"
>>>> type="tns:TransferDocumentDataAccess">
>>>>   <wsdl:operation name="load">
>>>>     <wsdl:input name="load">
>>>>     </wsdl:input>
>>>>     <wsdl:output name="loadResponse">
>>>>     </wsdl:output>
>>>>     <wsdl:fault name="DataAccessNotFoundWebFault">
>>>>     </wsdl:fault>
>>>>     <wsdl:fault name="ImproperArgumentWebFault">
>>>>     </wsdl:fault>
>>>>     <wsdl:fault name="DataAccessRetryWebFault">
>>>>     </wsdl:fault>
>>>>   </wsdl:operation>
>>>>   <wsdl:operation name="save">
>>>>     <wsdl:input name="save">
>>>>     </wsdl:input>
>>>>     <wsdl:output name="saveResponse">
>>>>     </wsdl:output>
>>>>     <wsdl:fault name="DataAccessConstraintWebFault">
>>>>     </wsdl:fault>
>>>>     <wsdl:fault name="ImproperArgumentWebFault">
>>>>     </wsdl:fault>
>>>>     <wsdl:fault name="DataAccessDuplicateWebFault">
>>>>     </wsdl:fault>
>>>>     <wsdl:fault name="DataAccessRetryWebFault">
>>>>     </wsdl:fault>
>>>>   </wsdl:operation>
>>>> </wsdl:binding>
>>>> <wsdl:service name="TransferDocumentDataAccessImplService">
>>>>   <wsdl:port
>>>> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
>>>> name="TransferDocumentDataAccessImplPort">
>>>>   </wsdl:port>
>>>> </wsdl:service>
>>>> </wsdl:definitions>
>>>>
>>>> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>> 	<jbi:part>
>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>      			<dom:Organization id="123456"/>
>>>>   		</dom:TransferHeader>
>>>> 		</dom:TransferDocument>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>>> ]
>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>> 	<jbi:part>
>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>      			<dom:Organization id="123456"/>
>>>>   		</dom:TransferHeader>
>>>> 		</dom:TransferDocument>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>>> ]
>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>> 	<jbi:part>
>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>      			<dom:Organization id="123456"/>
>>>>   		</dom:TransferHeader>
>>>> 		</dom:TransferDocument>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>>> 	<jbi:part>
>>>> 		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/ 
>>>> domain">
>>>>   		<dom:TransferHeader description="JBI Wrapped with routing">
>>>>      			<dom:Organization id="123456"/>
>>>>   		</dom:TransferHeader>
>>>> 		</dom:TransferDocument>
>>>> 	</jbi:part>
>>>> </jbi:message>
>>>> 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-tp24942525p24942525.html
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>> -- 
>>> Freeman Fang
>>> ------------------------
>>> Open Source SOA: http://fusesource.com
>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24956318.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>


-- 
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com


Re: CXF SE: null XML Payload after unmarshall

Posted by Brian Taylor <br...@briantaylor.us>.
Thanks Freeman, I was using version 3.3 and just downloaded 3.3.1 which I
discovered is using the new 2009.01 components - I should have known to try
this first! The 2009.01 CXF SE supports the 'useSOAPEnvelope=false'
parameter. Thanks for the help and patience. :) 

The problem now is that when I set both useJBIWrapper and useSOAPEnvelope
parameters on the CXF SE Endpoint the CXF SE's DocLiteralInInterceptor
throws an exception stating:  "Message part
{http://www.mycompany.com/domain}TransferDocument was not recognized. (Does
it exist in service WSDL?)"

This is the route:

InOnly: File BC (has to be a bare message:
<dom:TransferDocument><dom:TransferHeader/></dom:TransferDocument>)
=>
InOnly: EIP SE (Pipeline route su - sets 'srv:save' operation on first
exchange target then 'wsn:notify' on second)
=>
In/Out: CXF SE: DocLiteralInInterceptor throws exception stating: "Message
part {http://www.mycompany.com/domain}TransferDocument was not recognized.
(Does it exist in service WSDL?)"
=>
InOnly: WSN2005 SE (haven't got here yet)

Is it possible that the CXF SE is generating Wrapped parameter style service
and not a Bare parameter style service and expecting this to have a <save>
element? If so, how can I get this to generate the Bare style? I noticed in
the CXF SE Component class the following configuration files:

"META-INF/cxf/cxf.xml",
"META-INF/cxf/cxf-extension-soap.xml",
"META-INF/cxf/transport/jbi/cxf-transport-jbi.xml",
"META-INF/cxf/binding/jbi/cxf-binding-jbi.xml"

Will these help here and if so, where can I get information on them? If not,
are there any other options?

Thanks again!

Respectfully,
Brian


Brian Taylor wrote:
> 
> Does CXF SE always generate Wrapped services (e.g. <save> wrappers)? Can I
> get it to generate Bare services (no parameter wrapping)?
> 
> 
> Freeman Fang wrote:
>> 
>> Hi,
>> 
>> My comment inline
>> On 2009-8-13, at 上午2:48, 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).
>> Set both seJBIWrapper="false" and useSOAPEnvelope="false" to get what  
>> you want
>> You see the exception because you are not use the version including  
>> the useSOAPEnvelope attribute.
>> What's the smx version you are using?
>> You can try with FUSE ESB (which is based on apache servicemix but get  
>> released more frequently).
>> FUSE ESB 3.3.x[1]match smx 3.2.x and FUSE ESB 3.4.x[2] match smx 3.3.x
>> [1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.20-fuse/
>> [2]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.4-fuse/
>>>
>>> Thanks again for any help, this is really stumping me.
>>>
>>> Brian
>>>
>>> [1] File BC SU
>>> <file:poller
>>> 		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
>>> <jbi: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">
>>> 	<jbi:part>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>> 	</jbi:part>
>>> </jbi:message>
>> This message is invalid for cxf se based on the wsdl model used in cxf  
>> se, if you want to call save method, it should be like
>> 
>> <jbi: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">
>> 	<jbi:part>
>>                 <dom:save>
>>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>     		<dom:TransferHeader description="JBI Wrapped with routing">
>>        			<dom:Organization id="123456"/>
>>     		</dom:TransferHeader>
>>   		</dom:TransferDocument>
>>               </dom:save>
>> 	</jbi:part>
>> </jbi:message>
>> 
>> You miss save element. If you are not sure what's the jbi message  
>> should be, one solution is you just use a simple flow like
>> external client==>cxf-bc===> cxf-se, and turn on the debug log then  
>> you can see the correct jbi message which is changed from the incoming  
>> soap message.
>> 
>> Freeman
>> 
>>>
>>> [3] EIP Pipeline Route SU
>>> <eip:pipeline
>>> 		service="stSvc:PipelineRoutingService"
>>> 		endpoint="SaveTransferDocumentRoute">
>>> 		<eip:transformer>
>>> 	    	<eip:exchange-target
>>> 				service="stSvc:TransferDocumentDataAccessImplService"
>>> 				endpoint="TransferDocumentDataAccessImplPort"
>>> 				operation="stSvc:save"/>
>>> 	  	</eip:transformer>
>>> 	  	<eip:target>
>>> 	    	<eip:exchange-target
>>> 				service="wsn:NotificationBroker"
>>> 				endpoint="Broker"
>>> 				operation="wsn:Notify"/>
>>> 	  	</eip:target>
>>> 	</eip:pipeline>
>>>
>>> [4] CXF SE SU
>>> <cxfse:endpoint>
>>> 		<cxfse:pojo>
>>> 			<bean
>>> class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
>>> 		</cxfse:pojo>
>>> 	</cxfse:endpoint>
>>>
>>> [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
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <wsdl:definitions
>>> 	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/">
>>>  <wsdl:types>
>>> <xs:schema
>>> 	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/">
>>> <xs:import namespace="http://www.mycompany.com/domain"/>
>>> <xs:element name="load" type="tns:load"/>
>>> <xs:element name="loadResponse" type="tns:loadResponse"/>
>>> <xs:element name="save" type="tns:save"/>
>>> <xs:element name="saveResponse" type="tns:saveResponse"/>
>>> <xs:complexType name="load">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:complexType name="loadResponse">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:complexType name="save">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:complexType name="saveResponse">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="ImproperArgumentWebFault"
>>> type="tns:ImproperArgumentWebFault"/>
>>> <xs:complexType name="ImproperArgumentWebFault">
>>> <xs:sequence/>
>>> </xs:complexType>
>>> <xs:element name="DataAccessRetryWebFault"
>>> type="tns:DataAccessRetryWebFault"/>
>>> <xs:complexType name="DataAccessRetryWebFault">
>>> <xs:sequence/>
>>> </xs:complexType>
>>> <xs:element name="DataAccessNotFoundWebFault"
>>> type="tns:DataAccessNotFoundWebFault"/>
>>> <xs:complexType name="DataAccessNotFoundWebFault">
>>> <xs:sequence/>
>>> </xs:complexType>
>>> <xs:element name="DataAccessConstraintWebFault"
>>> type="tns:DataAccessConstraintWebFault"/>
>>> <xs:complexType name="DataAccessConstraintWebFault">
>>> <xs:sequence/>
>>> </xs:complexType>
>>> <xs:element name="DataAccessDuplicateWebFault"
>>> type="tns:DataAccessDuplicateWebFault"/>
>>> <xs:complexType name="DataAccessDuplicateWebFault">
>>> <xs:sequence/>
>>> </xs:complexType>
>>> </xs:schema>
>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>> xmlns:tns="http://www.mycompany.com/domain"
>>> attributeFormDefault="unqualified" elementFormDefault="unqualified"
>>> targetNamespace="http://www.mycompany.com/domain">
>>> <xs:element name="TransferDocument" nillable="true"
>>> type="tns:TransferDocument"/>
>>> <xs:element name="TransferHeader" nillable="true"
>>> type="tns:TransferHeader"/>
>>> <xs:complexType name="TransferDocument">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="TransferHeader"  
>>> type="tns:TransferHeader"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="TransferDetail"
>>> type="tns:TransferDetail"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:complexType name="TransferHeader">
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="Organization"  
>>> type="tns:Organization"/>
>>> </xs:sequence>
>>> <xs:attribute name="transferId" type="xs:int"/>
>>> </xs:complexType>
>>> <xs:complexType name="Organization">
>>> <xs:sequence>
>>> </xs:sequence>
>>> <xs:attribute name="id" type="xs:int"/>
>>> </xs:complexType>
>>> <xs:complexType name="TransferDetail">
>>> <xs:sequence>
>>> </xs:sequence>
>>> <xs:attribute name="transferDetailId" type="xs:int"/>
>>> <xs:attribute name="transferId" type="xs:int"/>
>>> </xs:complexType>
>>> </xs:schema>
>>>  </wsdl:types>
>>>  <wsdl:message name="DataAccessConstraintWebFault">
>>>    <wsdl:part element="tns:DataAccessConstraintWebFault"
>>> name="DataAccessConstraintWebFault">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="ImproperArgumentWebFault">
>>>    <wsdl:part element="tns:ImproperArgumentWebFault"
>>> name="ImproperArgumentWebFault">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="load">
>>>    <wsdl:part element="tns:load" name="parameters">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="DataAccessDuplicateWebFault">
>>>    <wsdl:part element="tns:DataAccessDuplicateWebFault"
>>> name="DataAccessDuplicateWebFault">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="DataAccessRetryWebFault">
>>>    <wsdl:part element="tns:DataAccessRetryWebFault"
>>> name="DataAccessRetryWebFault">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="DataAccessNotFoundWebFault">
>>>    <wsdl:part element="tns:DataAccessNotFoundWebFault"
>>> name="DataAccessNotFoundWebFault">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="loadResponse">
>>>    <wsdl:part element="tns:loadResponse" name="parameters">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="saveResponse">
>>>    <wsdl:part element="tns:saveResponse" name="parameters">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:message name="save">
>>>    <wsdl:part element="tns:save" name="parameters">
>>>    </wsdl:part>
>>>  </wsdl:message>
>>>  <wsdl:portType name="TransferDocumentDataAccess">
>>>    <wsdl:operation name="load">
>>>      <wsdl:input message="tns:load" name="load">
>>>    </wsdl:input>
>>>      <wsdl:output message="tns:loadResponse" name="loadResponse">
>>>    </wsdl:output>
>>>      <wsdl:fault message="tns:DataAccessNotFoundWebFault"
>>> name="DataAccessNotFoundWebFault">
>>>    </wsdl:fault>
>>>      <wsdl:fault message="tns:ImproperArgumentWebFault"
>>> name="ImproperArgumentWebFault">
>>>    </wsdl:fault>
>>>      <wsdl:fault message="tns:DataAccessRetryWebFault"
>>> name="DataAccessRetryWebFault">
>>>    </wsdl:fault>
>>>    </wsdl:operation>
>>>    <wsdl:operation name="save">
>>>      <wsdl:input message="tns:save" name="save">
>>>    </wsdl:input>
>>>      <wsdl:output message="tns:saveResponse" name="saveResponse">
>>>    </wsdl:output>
>>>      <wsdl:fault message="tns:DataAccessConstraintWebFault"
>>> name="DataAccessConstraintWebFault">
>>>    </wsdl:fault>
>>>      <wsdl:fault message="tns:ImproperArgumentWebFault"
>>> name="ImproperArgumentWebFault">
>>>    </wsdl:fault>
>>>      <wsdl:fault message="tns:DataAccessDuplicateWebFault"
>>> name="DataAccessDuplicateWebFault">
>>>    </wsdl:fault>
>>>      <wsdl:fault message="tns:DataAccessRetryWebFault"
>>> name="DataAccessRetryWebFault">
>>>    </wsdl:fault>
>>>    </wsdl:operation>
>>>  </wsdl:portType>
>>>  <wsdl:binding name="TransferDocumentDataAccessImplServiceJBIBinding"
>>> type="tns:TransferDocumentDataAccess">
>>>    <wsdl:operation name="load">
>>>      <wsdl:input name="load">
>>>      </wsdl:input>
>>>      <wsdl:output name="loadResponse">
>>>      </wsdl:output>
>>>      <wsdl:fault name="DataAccessNotFoundWebFault">
>>>      </wsdl:fault>
>>>      <wsdl:fault name="ImproperArgumentWebFault">
>>>      </wsdl:fault>
>>>      <wsdl:fault name="DataAccessRetryWebFault">
>>>      </wsdl:fault>
>>>    </wsdl:operation>
>>>    <wsdl:operation name="save">
>>>      <wsdl:input name="save">
>>>      </wsdl:input>
>>>      <wsdl:output name="saveResponse">
>>>      </wsdl:output>
>>>      <wsdl:fault name="DataAccessConstraintWebFault">
>>>      </wsdl:fault>
>>>      <wsdl:fault name="ImproperArgumentWebFault">
>>>      </wsdl:fault>
>>>      <wsdl:fault name="DataAccessDuplicateWebFault">
>>>      </wsdl:fault>
>>>      <wsdl:fault name="DataAccessRetryWebFault">
>>>      </wsdl:fault>
>>>    </wsdl:operation>
>>>  </wsdl:binding>
>>>  <wsdl:service name="TransferDocumentDataAccessImplService">
>>>    <wsdl:port  
>>> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
>>> name="TransferDocumentDataAccessImplPort">
>>>    </wsdl:port>
>>>  </wsdl:service>
>>> </wsdl:definitions>
>>>
>>> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>> 	<jbi:part>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>> 	</jbi:part>
>>> </jbi:message>
>>> ]
>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>> 	<jbi:part>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>> 	</jbi:part>
>>> </jbi:message>
>>> ]
>>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>> 	<jbi:part>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>> 	</jbi:part>
>>> </jbi:message>
>>>  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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>>> 	<jbi:part>
>>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>>       			<dom:Organization id="123456"/>
>>>    		</dom:TransferHeader>
>>>  		</dom:TransferDocument>
>>> 	</jbi:part>
>>> </jbi:message>
>>>  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-tp24942525p24942525.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>> 
>> 
>> -- 
>> Freeman Fang
>> ------------------------
>> Open Source SOA: http://fusesource.com
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24956318.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF SE: null XML Payload after unmarshall

Posted by Brian Taylor <br...@briantaylor.us>.
Does CXF SE always generate Wrapped services (e.g. <save> wrappers)? Can I
get it to generate Bare services (no parameter wrapping)?


Freeman Fang wrote:
> 
> Hi,
> 
> My comment inline
> On 2009-8-13, at 上午2:48, 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).
> Set both seJBIWrapper="false" and useSOAPEnvelope="false" to get what  
> you want
> You see the exception because you are not use the version including  
> the useSOAPEnvelope attribute.
> What's the smx version you are using?
> You can try with FUSE ESB (which is based on apache servicemix but get  
> released more frequently).
> FUSE ESB 3.3.x[1]match smx 3.2.x and FUSE ESB 3.4.x[2] match smx 3.3.x
> [1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.20-fuse/
> [2]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.4-fuse/
>>
>> Thanks again for any help, this is really stumping me.
>>
>> Brian
>>
>> [1] File BC SU
>> <file:poller
>> 		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
>> <jbi: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">
>> 	<jbi:part>
>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>       			<dom:Organization id="123456"/>
>>    		</dom:TransferHeader>
>>  		</dom:TransferDocument>
>> 	</jbi:part>
>> </jbi:message>
> This message is invalid for cxf se based on the wsdl model used in cxf  
> se, if you want to call save method, it should be like
> 
> <jbi: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">
> 	<jbi:part>
>                 <dom:save>
>   		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>     		<dom:TransferHeader description="JBI Wrapped with routing">
>        			<dom:Organization id="123456"/>
>     		</dom:TransferHeader>
>   		</dom:TransferDocument>
>               </dom:save>
> 	</jbi:part>
> </jbi:message>
> 
> You miss save element. If you are not sure what's the jbi message  
> should be, one solution is you just use a simple flow like
> external client==>cxf-bc===> cxf-se, and turn on the debug log then  
> you can see the correct jbi message which is changed from the incoming  
> soap message.
> 
> Freeman
> 
>>
>> [3] EIP Pipeline Route SU
>> <eip:pipeline
>> 		service="stSvc:PipelineRoutingService"
>> 		endpoint="SaveTransferDocumentRoute">
>> 		<eip:transformer>
>> 	    	<eip:exchange-target
>> 				service="stSvc:TransferDocumentDataAccessImplService"
>> 				endpoint="TransferDocumentDataAccessImplPort"
>> 				operation="stSvc:save"/>
>> 	  	</eip:transformer>
>> 	  	<eip:target>
>> 	    	<eip:exchange-target
>> 				service="wsn:NotificationBroker"
>> 				endpoint="Broker"
>> 				operation="wsn:Notify"/>
>> 	  	</eip:target>
>> 	</eip:pipeline>
>>
>> [4] CXF SE SU
>> <cxfse:endpoint>
>> 		<cxfse:pojo>
>> 			<bean
>> class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
>> 		</cxfse:pojo>
>> 	</cxfse:endpoint>
>>
>> [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
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions
>> 	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/">
>>  <wsdl:types>
>> <xs:schema
>> 	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/">
>> <xs:import namespace="http://www.mycompany.com/domain"/>
>> <xs:element name="load" type="tns:load"/>
>> <xs:element name="loadResponse" type="tns:loadResponse"/>
>> <xs:element name="save" type="tns:save"/>
>> <xs:element name="saveResponse" type="tns:saveResponse"/>
>> <xs:complexType name="load">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:complexType name="loadResponse">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:complexType name="save">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:complexType name="saveResponse">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="ImproperArgumentWebFault"
>> type="tns:ImproperArgumentWebFault"/>
>> <xs:complexType name="ImproperArgumentWebFault">
>> <xs:sequence/>
>> </xs:complexType>
>> <xs:element name="DataAccessRetryWebFault"
>> type="tns:DataAccessRetryWebFault"/>
>> <xs:complexType name="DataAccessRetryWebFault">
>> <xs:sequence/>
>> </xs:complexType>
>> <xs:element name="DataAccessNotFoundWebFault"
>> type="tns:DataAccessNotFoundWebFault"/>
>> <xs:complexType name="DataAccessNotFoundWebFault">
>> <xs:sequence/>
>> </xs:complexType>
>> <xs:element name="DataAccessConstraintWebFault"
>> type="tns:DataAccessConstraintWebFault"/>
>> <xs:complexType name="DataAccessConstraintWebFault">
>> <xs:sequence/>
>> </xs:complexType>
>> <xs:element name="DataAccessDuplicateWebFault"
>> type="tns:DataAccessDuplicateWebFault"/>
>> <xs:complexType name="DataAccessDuplicateWebFault">
>> <xs:sequence/>
>> </xs:complexType>
>> </xs:schema>
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> xmlns:tns="http://www.mycompany.com/domain"
>> attributeFormDefault="unqualified" elementFormDefault="unqualified"
>> targetNamespace="http://www.mycompany.com/domain">
>> <xs:element name="TransferDocument" nillable="true"
>> type="tns:TransferDocument"/>
>> <xs:element name="TransferHeader" nillable="true"
>> type="tns:TransferHeader"/>
>> <xs:complexType name="TransferDocument">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="TransferHeader"  
>> type="tns:TransferHeader"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="TransferDetail"
>> type="tns:TransferDetail"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:complexType name="TransferHeader">
>> <xs:sequence>
>> <xs:element minOccurs="0" name="Organization"  
>> type="tns:Organization"/>
>> </xs:sequence>
>> <xs:attribute name="transferId" type="xs:int"/>
>> </xs:complexType>
>> <xs:complexType name="Organization">
>> <xs:sequence>
>> </xs:sequence>
>> <xs:attribute name="id" type="xs:int"/>
>> </xs:complexType>
>> <xs:complexType name="TransferDetail">
>> <xs:sequence>
>> </xs:sequence>
>> <xs:attribute name="transferDetailId" type="xs:int"/>
>> <xs:attribute name="transferId" type="xs:int"/>
>> </xs:complexType>
>> </xs:schema>
>>  </wsdl:types>
>>  <wsdl:message name="DataAccessConstraintWebFault">
>>    <wsdl:part element="tns:DataAccessConstraintWebFault"
>> name="DataAccessConstraintWebFault">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="ImproperArgumentWebFault">
>>    <wsdl:part element="tns:ImproperArgumentWebFault"
>> name="ImproperArgumentWebFault">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="load">
>>    <wsdl:part element="tns:load" name="parameters">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="DataAccessDuplicateWebFault">
>>    <wsdl:part element="tns:DataAccessDuplicateWebFault"
>> name="DataAccessDuplicateWebFault">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="DataAccessRetryWebFault">
>>    <wsdl:part element="tns:DataAccessRetryWebFault"
>> name="DataAccessRetryWebFault">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="DataAccessNotFoundWebFault">
>>    <wsdl:part element="tns:DataAccessNotFoundWebFault"
>> name="DataAccessNotFoundWebFault">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="loadResponse">
>>    <wsdl:part element="tns:loadResponse" name="parameters">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="saveResponse">
>>    <wsdl:part element="tns:saveResponse" name="parameters">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:message name="save">
>>    <wsdl:part element="tns:save" name="parameters">
>>    </wsdl:part>
>>  </wsdl:message>
>>  <wsdl:portType name="TransferDocumentDataAccess">
>>    <wsdl:operation name="load">
>>      <wsdl:input message="tns:load" name="load">
>>    </wsdl:input>
>>      <wsdl:output message="tns:loadResponse" name="loadResponse">
>>    </wsdl:output>
>>      <wsdl:fault message="tns:DataAccessNotFoundWebFault"
>> name="DataAccessNotFoundWebFault">
>>    </wsdl:fault>
>>      <wsdl:fault message="tns:ImproperArgumentWebFault"
>> name="ImproperArgumentWebFault">
>>    </wsdl:fault>
>>      <wsdl:fault message="tns:DataAccessRetryWebFault"
>> name="DataAccessRetryWebFault">
>>    </wsdl:fault>
>>    </wsdl:operation>
>>    <wsdl:operation name="save">
>>      <wsdl:input message="tns:save" name="save">
>>    </wsdl:input>
>>      <wsdl:output message="tns:saveResponse" name="saveResponse">
>>    </wsdl:output>
>>      <wsdl:fault message="tns:DataAccessConstraintWebFault"
>> name="DataAccessConstraintWebFault">
>>    </wsdl:fault>
>>      <wsdl:fault message="tns:ImproperArgumentWebFault"
>> name="ImproperArgumentWebFault">
>>    </wsdl:fault>
>>      <wsdl:fault message="tns:DataAccessDuplicateWebFault"
>> name="DataAccessDuplicateWebFault">
>>    </wsdl:fault>
>>      <wsdl:fault message="tns:DataAccessRetryWebFault"
>> name="DataAccessRetryWebFault">
>>    </wsdl:fault>
>>    </wsdl:operation>
>>  </wsdl:portType>
>>  <wsdl:binding name="TransferDocumentDataAccessImplServiceJBIBinding"
>> type="tns:TransferDocumentDataAccess">
>>    <wsdl:operation name="load">
>>      <wsdl:input name="load">
>>      </wsdl:input>
>>      <wsdl:output name="loadResponse">
>>      </wsdl:output>
>>      <wsdl:fault name="DataAccessNotFoundWebFault">
>>      </wsdl:fault>
>>      <wsdl:fault name="ImproperArgumentWebFault">
>>      </wsdl:fault>
>>      <wsdl:fault name="DataAccessRetryWebFault">
>>      </wsdl:fault>
>>    </wsdl:operation>
>>    <wsdl:operation name="save">
>>      <wsdl:input name="save">
>>      </wsdl:input>
>>      <wsdl:output name="saveResponse">
>>      </wsdl:output>
>>      <wsdl:fault name="DataAccessConstraintWebFault">
>>      </wsdl:fault>
>>      <wsdl:fault name="ImproperArgumentWebFault">
>>      </wsdl:fault>
>>      <wsdl:fault name="DataAccessDuplicateWebFault">
>>      </wsdl:fault>
>>      <wsdl:fault name="DataAccessRetryWebFault">
>>      </wsdl:fault>
>>    </wsdl:operation>
>>  </wsdl:binding>
>>  <wsdl:service name="TransferDocumentDataAccessImplService">
>>    <wsdl:port  
>> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
>> name="TransferDocumentDataAccessImplPort">
>>    </wsdl:port>
>>  </wsdl:service>
>> </wsdl:definitions>
>>
>> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>> 	<jbi:part>
>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>       			<dom:Organization id="123456"/>
>>    		</dom:TransferHeader>
>>  		</dom:TransferDocument>
>> 	</jbi:part>
>> </jbi:message>
>> ]
>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>> 	<jbi:part>
>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>       			<dom:Organization id="123456"/>
>>    		</dom:TransferHeader>
>>  		</dom:TransferDocument>
>> 	</jbi:part>
>> </jbi:message>
>> ]
>> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>> 	<jbi:part>
>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>       			<dom:Organization id="123456"/>
>>    		</dom:TransferHeader>
>>  		</dom:TransferDocument>
>> 	</jbi:part>
>> </jbi:message>
>>  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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
>> 	<jbi:part>
>>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>>    		<dom:TransferHeader description="JBI Wrapped with routing">
>>       			<dom:Organization id="123456"/>
>>    		</dom:TransferHeader>
>>  		</dom:TransferDocument>
>> 	</jbi:part>
>> </jbi:message>
>>  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-tp24942525p24942525.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
> 
> 
> -- 
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/CXF-SE%3A-null-XML-Payload-after-unmarshall-tp24942525p24954428.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF SE: null XML Payload after unmarshall

Posted by Freeman Fang <fr...@gmail.com>.
Hi,

My comment inline
On 2009-8-13, at 上午2:48, 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).
Set both seJBIWrapper="false" and useSOAPEnvelope="false" to get what  
you want
You see the exception because you are not use the version including  
the useSOAPEnvelope attribute.
What's the smx version you are using?
You can try with FUSE ESB (which is based on apache servicemix but get  
released more frequently).
FUSE ESB 3.3.x[1]match smx 3.2.x and FUSE ESB 3.4.x[2] match smx 3.3.x
[1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.20-fuse/
[2]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.4-fuse/
>
> Thanks again for any help, this is really stumping me.
>
> Brian
>
> [1] File BC SU
> <file:poller
> 		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
> <jbi: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">
> 	<jbi:part>
>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>    		<dom:TransferHeader description="JBI Wrapped with routing">
>       			<dom:Organization id="123456"/>
>    		</dom:TransferHeader>
>  		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
This message is invalid for cxf se based on the wsdl model used in cxf  
se, if you want to call save method, it should be like

<jbi: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">
	<jbi:part>
                <dom:save>
  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
    		<dom:TransferHeader description="JBI Wrapped with routing">
       			<dom:Organization id="123456"/>
    		</dom:TransferHeader>
  		</dom:TransferDocument>
              </dom:save>
	</jbi:part>
</jbi:message>

You miss save element. If you are not sure what's the jbi message  
should be, one solution is you just use a simple flow like
external client==>cxf-bc===> cxf-se, and turn on the debug log then  
you can see the correct jbi message which is changed from the incoming  
soap message.

Freeman

>
> [3] EIP Pipeline Route SU
> <eip:pipeline
> 		service="stSvc:PipelineRoutingService"
> 		endpoint="SaveTransferDocumentRoute">
> 		<eip:transformer>
> 	    	<eip:exchange-target
> 				service="stSvc:TransferDocumentDataAccessImplService"
> 				endpoint="TransferDocumentDataAccessImplPort"
> 				operation="stSvc:save"/>
> 	  	</eip:transformer>
> 	  	<eip:target>
> 	    	<eip:exchange-target
> 				service="wsn:NotificationBroker"
> 				endpoint="Broker"
> 				operation="wsn:Notify"/>
> 	  	</eip:target>
> 	</eip:pipeline>
>
> [4] CXF SE SU
> <cxfse:endpoint>
> 		<cxfse:pojo>
> 			<bean
> class="com.mycompany.services.domain.TransferDocumentDataAccessImpl"/>
> 		</cxfse:pojo>
> 	</cxfse:endpoint>
>
> [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
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> 	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/">
>  <wsdl:types>
> <xs:schema
> 	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/">
> <xs:import namespace="http://www.mycompany.com/domain"/>
> <xs:element name="load" type="tns:load"/>
> <xs:element name="loadResponse" type="tns:loadResponse"/>
> <xs:element name="save" type="tns:save"/>
> <xs:element name="saveResponse" type="tns:saveResponse"/>
> <xs:complexType name="load">
> <xs:sequence>
> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="loadResponse">
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="save">
> <xs:sequence>
> <xs:element minOccurs="0" name="arg0" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="saveResponse">
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="ns1:TransferDocument"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="ImproperArgumentWebFault"
> type="tns:ImproperArgumentWebFault"/>
> <xs:complexType name="ImproperArgumentWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessRetryWebFault"
> type="tns:DataAccessRetryWebFault"/>
> <xs:complexType name="DataAccessRetryWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessNotFoundWebFault"
> type="tns:DataAccessNotFoundWebFault"/>
> <xs:complexType name="DataAccessNotFoundWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessConstraintWebFault"
> type="tns:DataAccessConstraintWebFault"/>
> <xs:complexType name="DataAccessConstraintWebFault">
> <xs:sequence/>
> </xs:complexType>
> <xs:element name="DataAccessDuplicateWebFault"
> type="tns:DataAccessDuplicateWebFault"/>
> <xs:complexType name="DataAccessDuplicateWebFault">
> <xs:sequence/>
> </xs:complexType>
> </xs:schema>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:tns="http://www.mycompany.com/domain"
> attributeFormDefault="unqualified" elementFormDefault="unqualified"
> targetNamespace="http://www.mycompany.com/domain">
> <xs:element name="TransferDocument" nillable="true"
> type="tns:TransferDocument"/>
> <xs:element name="TransferHeader" nillable="true"
> type="tns:TransferHeader"/>
> <xs:complexType name="TransferDocument">
> <xs:sequence>
> <xs:element minOccurs="0" name="TransferHeader"  
> type="tns:TransferHeader"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="TransferDetail"
> type="tns:TransferDetail"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="TransferHeader">
> <xs:sequence>
> <xs:element minOccurs="0" name="Organization"  
> type="tns:Organization"/>
> </xs:sequence>
> <xs:attribute name="transferId" type="xs:int"/>
> </xs:complexType>
> <xs:complexType name="Organization">
> <xs:sequence>
> </xs:sequence>
> <xs:attribute name="id" type="xs:int"/>
> </xs:complexType>
> <xs:complexType name="TransferDetail">
> <xs:sequence>
> </xs:sequence>
> <xs:attribute name="transferDetailId" type="xs:int"/>
> <xs:attribute name="transferId" type="xs:int"/>
> </xs:complexType>
> </xs:schema>
>  </wsdl:types>
>  <wsdl:message name="DataAccessConstraintWebFault">
>    <wsdl:part element="tns:DataAccessConstraintWebFault"
> name="DataAccessConstraintWebFault">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="ImproperArgumentWebFault">
>    <wsdl:part element="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="load">
>    <wsdl:part element="tns:load" name="parameters">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="DataAccessDuplicateWebFault">
>    <wsdl:part element="tns:DataAccessDuplicateWebFault"
> name="DataAccessDuplicateWebFault">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="DataAccessRetryWebFault">
>    <wsdl:part element="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="DataAccessNotFoundWebFault">
>    <wsdl:part element="tns:DataAccessNotFoundWebFault"
> name="DataAccessNotFoundWebFault">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="loadResponse">
>    <wsdl:part element="tns:loadResponse" name="parameters">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="saveResponse">
>    <wsdl:part element="tns:saveResponse" name="parameters">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:message name="save">
>    <wsdl:part element="tns:save" name="parameters">
>    </wsdl:part>
>  </wsdl:message>
>  <wsdl:portType name="TransferDocumentDataAccess">
>    <wsdl:operation name="load">
>      <wsdl:input message="tns:load" name="load">
>    </wsdl:input>
>      <wsdl:output message="tns:loadResponse" name="loadResponse">
>    </wsdl:output>
>      <wsdl:fault message="tns:DataAccessNotFoundWebFault"
> name="DataAccessNotFoundWebFault">
>    </wsdl:fault>
>      <wsdl:fault message="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>    </wsdl:fault>
>      <wsdl:fault message="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>    </wsdl:fault>
>    </wsdl:operation>
>    <wsdl:operation name="save">
>      <wsdl:input message="tns:save" name="save">
>    </wsdl:input>
>      <wsdl:output message="tns:saveResponse" name="saveResponse">
>    </wsdl:output>
>      <wsdl:fault message="tns:DataAccessConstraintWebFault"
> name="DataAccessConstraintWebFault">
>    </wsdl:fault>
>      <wsdl:fault message="tns:ImproperArgumentWebFault"
> name="ImproperArgumentWebFault">
>    </wsdl:fault>
>      <wsdl:fault message="tns:DataAccessDuplicateWebFault"
> name="DataAccessDuplicateWebFault">
>    </wsdl:fault>
>      <wsdl:fault message="tns:DataAccessRetryWebFault"
> name="DataAccessRetryWebFault">
>    </wsdl:fault>
>    </wsdl:operation>
>  </wsdl:portType>
>  <wsdl:binding name="TransferDocumentDataAccessImplServiceJBIBinding"
> type="tns:TransferDocumentDataAccess">
>    <wsdl:operation name="load">
>      <wsdl:input name="load">
>      </wsdl:input>
>      <wsdl:output name="loadResponse">
>      </wsdl:output>
>      <wsdl:fault name="DataAccessNotFoundWebFault">
>      </wsdl:fault>
>      <wsdl:fault name="ImproperArgumentWebFault">
>      </wsdl:fault>
>      <wsdl:fault name="DataAccessRetryWebFault">
>      </wsdl:fault>
>    </wsdl:operation>
>    <wsdl:operation name="save">
>      <wsdl:input name="save">
>      </wsdl:input>
>      <wsdl:output name="saveResponse">
>      </wsdl:output>
>      <wsdl:fault name="DataAccessConstraintWebFault">
>      </wsdl:fault>
>      <wsdl:fault name="ImproperArgumentWebFault">
>      </wsdl:fault>
>      <wsdl:fault name="DataAccessDuplicateWebFault">
>      </wsdl:fault>
>      <wsdl:fault name="DataAccessRetryWebFault">
>      </wsdl:fault>
>    </wsdl:operation>
>  </wsdl:binding>
>  <wsdl:service name="TransferDocumentDataAccessImplService">
>    <wsdl:port  
> binding="tns:TransferDocumentDataAccessImplServiceJBIBinding"
> name="TransferDocumentDataAccessImplPort">
>    </wsdl:port>
>  </wsdl:service>
> </wsdl:definitions>
>
> [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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>    		<dom:TransferHeader description="JBI Wrapped with routing">
>       			<dom:Organization id="123456"/>
>    		</dom:TransferHeader>
>  		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
> ]
> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>    		<dom:TransferHeader description="JBI Wrapped with routing">
>       			<dom:Organization id="123456"/>
>    		</dom:TransferHeader>
>  		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
> ]
> 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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>    		<dom:TransferHeader description="JBI Wrapped with routing">
>       			<dom:Organization id="123456"/>
>    		</dom:TransferHeader>
>  		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
>  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: <?xml version="1.0" encoding="UTF-8"?><jbi: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">
> 	<jbi:part>
>  		<dom:TransferDocument xmlns:dom="http://www.mycompany.com/domain">
>    		<dom:TransferHeader description="JBI Wrapped with routing">
>       			<dom:Organization id="123456"/>
>    		</dom:TransferHeader>
>  		</dom:TransferDocument>
> 	</jbi:part>
> </jbi:message>
>  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-tp24942525p24942525.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>


-- 
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com