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.sedaqueu...@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.sedaqueu...@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.sedaqueu...@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.sedaqueu...@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

Reply via email to