You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Ron Gavlin (JIRA)" <ji...@apache.org> on 2008/03/19 11:35:32 UTC

[jira] Created: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

CXF SE throws NPE on receipt of message from an EIP component
-------------------------------------------------------------

                 Key: SM-1279
                 URL: https://issues.apache.org/activemq/browse/SM-1279
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-cxf-se
    Affects Versions: 3.2.1
            Reporter: Ron Gavlin
            Priority: Critical


CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SM-1279) CXF SE throws NPE on receipt of message that does not specify an operation

Posted by "Torsten Mielke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=41746#action_41746 ] 

Torsten Mielke commented on SM-1279:
------------------------------------

I was able to reproduce this error and found a workaround/fix that is to add the operation name in the eip configuration (xbean.xml):

<eip:static-recipient-list service="person:srl" endpoint="endpoint">
<eip:recipients>
<eip:exchange-target service="person:PersonService" interface="person:Person" *operation="person:greetMeOneWay"* />
<eip:exchange-target service="test:jmsWiretapOut" />
</eip:recipients>
</eip:static-recipient-list>

That should avoid the NullPointerException.

> CXF SE throws NPE on receipt of message that does not specify an operation
> --------------------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component that does not specify a target operation. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang reassigned SM-1279:
--------------------------------

    Assignee: Freeman Fang

> CXF SE throws NPE on receipt of message from an EIP component
> -------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang resolved SM-1279.
------------------------------

    Resolution: Won't Fix

> CXF SE throws NPE on receipt of message from an EIP component
> -------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=41732#action_41732 ] 

Freeman Fang commented on SM-1279:
----------------------------------

Hi Ron,

I believe this is similiar problem as Johan's EIP SRS, we need specify the operation in exchange-target.
I paste what's in mailing list to answer Johan's problem here

I will close this issue now, if you find any problem just reopen it.

Thanks

====================
Hi Johan,

I just go through the EIP component code, fortunately you can specify the operation for your EIP SRS, so your EIP SRS configuration should like
<eip:static-routing-slip service="front:routingSlip" endpoint="endpoint">
 <eip:targets>
   <eip:exchange-target service="front:GetCustomerService"
interface="front:GetCustomerPortType" operation="front:GetCustomer"/>
 </eip:targets>
</eip:static-routing-slip>     
Here I assume you define namespace front as http://www.exampleURI.com/GetCustomer
Would you please try with this configuration, this should work.


> CXF SE throws NPE on receipt of message from an EIP component
> -------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=41731#action_41731 ] 

Freeman Fang commented on SM-1279:
----------------------------------

Hi Johan,

After go through the log so many times, I found that the JBI message cxf se received is exactly same with or without the EIP component.
But the interesting thing is that the working flow without the EIP component has operation

operation: {http://www.exampleURI.com/GetCustomer}GetCustomer

in the exchange, but if you use EIP component between cxf bc and se, the EIP component will remove the operation, which cause your error.

I'm not sure for EIP configuration, if we can specify to keep the operation of exchange, if not, I guess probably it's a bug of EIP component, I will try to fix it asap.

Regards
Freeman

johanp wrote:
> This works fine (cxfbc-consumer to cxfse-pojo):
> ===============================
>
> <cxfbc:consumer wsdl="classpath:GetCustomer.wsdl"
> service="front:GetCustomerService"
> endpoint="endpoint"
> targetService="front:GetCustomerService"
> targetInterface="front:GetCustomerPortType">
> </cxfbc:consumer>
>
> <cxfse:endpoint>
> <cxfse:pojo>
>   <bean class="com.exampleuri.getcustomer.GetCustomerServiceImpl" />
> </cxfse:pojo>
> <cxfse:inInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
> </cxfse:inInterceptors>
> <cxfse:outInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
> </cxfse:outInterceptors>
> <cxfse:inFaultInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
> </cxfse:inFaultInterceptors>
> <cxfse:outFaultInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
> </cxfse:outFaultInterceptors>         </cxfse:endpoint>
>
> @WebService(serviceName = "GetCustomerService",
>     targetNamespace = "http://www.exampleURI.com/GetCustomer",
>     endpointInterface = "com.exampleuri.getcustomer.GetCustomerPortType")
> public class GetCustomerServiceImpl implements GetCustomerPortType{
>     public Customer getCustomer(
>         com.exampleuri.getcustomer.CustomerNumberRequest
> customerNumberRequest) {
>         Customer customer = new Customer();
>         customer.setCustomerNumber(12);
>         customer.setCustomerStatusKey("S");
>         customer.setCustomerTypeKey("TK");
>         customer.setEmail("sdf@sdf.sdf");
>         customer.setExternalCustomerReference("extref");
>         customer.setFamilyName("asdfd");
>         customer.setFirstName("asdfds");
>         customer.setPreferredLanguage("en");
>         customer.setSegmentationKey(14);
>         customer.setTitle("title");
>         return customer;    }}
>
> DEBUG - CxfBcComponent                 - Created correlation id:
> ID:192.168.0.187-118c65ed729-14:0
> DEBUG - DeliveryChannelImpl            - SendSync
> ID:192.168.0.187-118c65ed729-14:0 in DeliveryChannel{servicemix-cxf-bc
> }
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - DeliveryChannelImpl            - Waiting for exchange
> ID:192.168.0.187-118c65ed729-14:0 (cb03c4) to be answered
> in DeliveryChannel{servicemix-cxf-bc} from sendSync
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@646a81 dequeued
> exchange: I
> nOut[
>   id: ID:192.168.0.187-118c65ed729-14:0
>   status: Active
>   role: provider
>   interface: {http://www.exampleURI.com/GetCustomer}GetCustomerPortType
>   service: {http://www.exampleURI.com/GetCustomer}GetCustomerService
>   endpoint: GetCustomerServiceImplPort
>   operation: {http://www.exampleURI.com/GetCustomer}GetCustomer
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmln
> s:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:par
> t><s1:CustomerNumberRequest xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.org/s
> oap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active,
> role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id:
> ID:192.168.0.187-118c65ed729-14:0
> 2008-mar-19 10:31:33 org.apache.cxf.transport.jbi.JBITransportFactory
> setDeliveryChannel
> INFO: configuring DeliveryChannel:     org.apache.servicemix.common.EndpointDeliveryChannel@174b423
> 2008-mar-19 10:31:33 org.apache.cxf.interceptor.LoggingInInterceptor logging
> INFO: Inbound Message
> ----------------------------
> Encoding:
> Headers:
> Messages:
> Message:
>
> Payload: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" x
> mlns:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:
> part><s1:CustomerNumberRequest
> xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.or
> g/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
> --------------------------------------
> 2008-mar-19 10:31:34
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
> INFO: Outbound Message
> ---------------------------
> Encoding: UTF-8
> Headers:
> Messages:
> Payload: <jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
> xmlns:msg="http://www.exampleURI.com/Ge
> tCustomer" type="msg:GetCustomerResponse"><jbi:part><ns2:Customer
> xmlns:ns2="http://www.exampleURI.com/GetCustomer"><Cus
> tomerNumber>12</CustomerNumber><CustomerStatusKey>S</CustomerStatusKey><CustomerTypeKey>TK</CustomerTypeKey>sdf@s
> df.sdf<ExternalCustomerReference>extref</ExternalCustomerReference><FamilyName>asdfd</FamilyName><FirstName>asdf
> ds</FirstName><PreferredLanguage>en</PreferredLanguage><SegmentationKey>14</SegmentationKey><Title>title</Title></ns2:Cu
> stomer></jbi:part></jbi:message>
> --------------------------------------
> DEBUG - DeliveryChannelImpl            - Send
> ID:192.168.0.187-118c65ed729-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@f05ce8 dequeued
> exchange: I
> nOut[
>   id: ID:192.168.0.187-118c65ed729-14:0
>   status: Active
>   role: consumer
>   interface: {http://www.exampleURI.com/GetCustomer}GetCustomerPortType
>   service: {http://www.exampleURI.com/GetCustomer}GetCustomerService
>   endpoint: GetCustomerServiceImplPort
>   operation: {http://www.exampleURI.com/GetCustomer}GetCustomer
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmln
> s:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:par
> t><s1:CustomerNumberRequest xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.org/s
> oap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
>   out: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xml
> ns:msg="http://www.exampleURI.com/GetCustomer"
> type="msg:GetCustomerResponse"><jbi:part><ns2:Customer xmlns:ns2="http://
> www.exampleURI.com/GetCustomer"><CustomerNumber>12</CustomerNumber><CustomerStatusKey>S</CustomerStatusKey><CustomerType
> Key>TK</CustomerTypeKey>sdf@sdf.sdf<ExternalCustomerReference>extref</ExternalCustomerReference><FamilyNa
> me>asdfd</FamilyName><FirstName>asdfds</FirstName><PreferredLanguage>en</PreferredLanguage><SegmentationKey>14</Segmenta
> tionKey><Title>title</Title></ns2:Customer></jbi:part></jbi:message>
> ]
> DEBUG - DeliveryChannelImpl            - Notifying exchange
> ID:192.168.0.187-118c65ed729-14:0(cb03c4) in DeliveryChannel
> {servicemix-cxf-bc} from processInboundSynchronousExchange
> DEBUG - DeliveryChannelImpl            - Notified:
> ID:192.168.0.187-118c65ed729-14:0(cb03c4) in DeliveryChannel{servicem
> ix-cxf-bc} from sendSync
> DEBUG - DeliveryChannelImpl            - Send
> ID:192.168.0.187-118c65ed729-14:0 in DeliveryChannel{servicemix-cxf-bc}
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@c1a0a6 dequeued
> exchange: I
> nOut[
>   id: ID:192.168.0.187-118c65ed729-14:0
>   status: Done
>   role: provider
>   interface: {http://www.exampleURI.com/GetCustomer}GetCustomerPortType
>   service: {http://www.exampleURI.com/GetCustomer}GetCustomerService
>   endpoint: GetCustomerServiceImplPort
>   operation: {http://www.exampleURI.com/GetCustomer}GetCustomer
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmln
> s:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:par
> t><s1:CustomerNumberRequest xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.org/s
> oap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
>   out: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xml
> ns:msg="http://www.exampleURI.com/GetCustomer"
> type="msg:GetCustomerResponse"><jbi:part><ns2:Customer xmlns:ns2="http://
> www.exampleURI.com/GetCustomer"><CustomerNumber>12</CustomerNumber><CustomerStatusKey>S</CustomerStatusKey><CustomerType
> Key>TK</CustomerTypeKey>sdf@sdf.sdf<ExternalCustomerReference>extref</ExternalCustomerReference><FamilyNa
> me>asdfd</FamilyName><FirstName>asdfds</FirstName><PreferredLanguage>en</PreferredLanguage><SegmentationKey>14</Segmenta
> tionKey><Title>title</Title></ns2:Customer></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Done,
> role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id:
> ID:192.168.0.187-118c65ed729-14:0
> 2008-mar-19 10:31:34 org.apache.cxf.transport.jbi.JBITransportFactory
> setDeliveryChannel
> INFO: configuring DeliveryChannel:     org.apache.servicemix.common.EndpointDeliveryChannel@174b423
>
>
> This does not work (cxfbc-consumer to eip-srs to cxfse-pojo):
> ========================================
>
> <cxfbc:consumer wsdl="classpath:GetCustomer.wsdl"
>           targetService="front:routingSlip"/>
>           <eip:static-routing-slip service="front:routingSlip" endpoint="endpoint">
>   <eip:targets>
>     <eip:exchange-target service="front:GetCustomerService"
> interface="front:GetCustomerPortType"/>
>   </eip:targets>
> </eip:static-routing-slip>         
>
> <cxfse:endpoint>
> <cxfse:pojo>
>   <bean class="com.exampleuri.getcustomer.GetCustomerServiceImpl" />
> </cxfse:pojo>
> <cxfse:inInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
> </cxfse:inInterceptors>
> <cxfse:outInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
> </cxfse:outInterceptors>
> <cxfse:inFaultInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
> </cxfse:inFaultInterceptors>
> <cxfse:outFaultInterceptors>
>   <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
> </cxfse:outFaultInterceptors>         </cxfse:endpoint>
>
> @WebService(serviceName = "GetCustomerService",
>     targetNamespace = "http://www.exampleURI.com/GetCustomer",
>     endpointInterface = "com.exampleuri.getcustomer.GetCustomerPortType")
> public class GetCustomerServiceImpl implements GetCustomerPortType{
>     public Customer getCustomer(
>         com.exampleuri.getcustomer.CustomerNumberRequest
> customerNumberRequest) {
>         Customer customer = new Customer();
>         customer.setCustomerNumber(12);
>         customer.setCustomerStatusKey("S");
>         customer.setCustomerTypeKey("TK");
>         customer.setEmail("sdf@sdf.sdf");
>         customer.setExternalCustomerReference("extref");
>         customer.setFamilyName("asdfd");
>         customer.setFirstName("asdfds");
>         customer.setPreferredLanguage("en");
>         customer.setSegmentationKey(14);
>         customer.setTitle("title");
>         return customer;    }}
>
> DEBUG - CxfBcComponent                 - Created correlation id:
> ID:192.168.0.187-118c6561bfe-14:0
> DEBUG - DeliveryChannelImpl            - SendSync
> ID:192.168.0.187-118c6561bfe-14:0 in DeliveryChannel{servicemix-cxf-bc
> }
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - DeliveryChannelImpl            - Waiting for exchange
> ID:192.168.0.187-118c6561bfe-14:0 (133e208) to be answered
>  in DeliveryChannel{servicemix-cxf-bc} from sendSync
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@13cae19 dequeued
> exchange:
> InOut[
>   id: ID:192.168.0.187-118c6561bfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.exampleURI.com/GetCustomer}routingSlip
>   endpoint: endpoint
>   operation: {http://www.exampleURI.com/GetCustomer}GetCustomer
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmln
> s:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:par
> t><s1:CustomerNumberRequest xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.org/s
> oap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
> ]
> DEBUG - EIPComponent                   - Received exchange: status: Active,
> role: provider
> DEBUG - EIPComponent                   - Retrieved correlation id:
> ID:192.168.0.187-118c6561bfe-14:0
> DEBUG - MemoryStore                    - Storing object with id:
> ID:192.168.0.187-118c6561bfe-14:0
> DEBUG - EIPComponent                   - Correlation id retrieved from
> ThreadLocal: ID:192.168.0.187-118c6561bfe-14:0
> DEBUG - DeliveryChannelImpl            - Send
> ID:192.168.0.187-118c6561bfe-6:0 in DeliveryChannel{servicemix-eip}
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@14e983a dequeued
> exchange:
> InOut[
>   id: ID:192.168.0.187-118c6561bfe-6:0
>   status: Active
>   role: provider
>   interface: {http://www.exampleURI.com/GetCustomer}GetCustomerPortType
>   service: {http://www.exampleURI.com/GetCustomer}GetCustomerService
>   endpoint: GetCustomerServiceImplPort
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmln
> s:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:par
> t><s1:CustomerNumberRequest xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.org/s
> oap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active,
> role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id:
> ID:192.168.0.187-118c6561bfe-14:0
> 2008-mar-19 10:21:35 org.apache.cxf.transport.jbi.JBITransportFactory
> setDeliveryChannel
> INFO: configuring DeliveryChannel:     org.apache.servicemix.common.EndpointDeliveryChannel@1f9e414
> 2008-mar-19 10:21:35 org.apache.cxf.interceptor.LoggingInInterceptor logging
> INFO: Inbound Message
> ----------------------------
> Encoding:
> Headers:
> Messages:
> Message:
>
> Payload: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" x
> mlns:msg="http://www.exampleURI.com/GetCustomer" name="GetCustomerInput"
> type="msg:GetCustomerInput" version="1.0"><jbi:
> part><s1:CustomerNumberRequest
> xmlns:s1="http://www.exampleURI.com/GetCustomer"
> xmlns:soapenc="http://schemas.xmlsoap.or
> g/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>          <CompanyID>comp</CompanyID>
>          <Password>pass</Password>
>          <UserName>usr</UserName>
>          <CustomerNumber>1230</CustomerNumber>
>       </s1:CustomerNumberRequest></jbi:part></jbi:message>
> --------------------------------------
> 2008-mar-19 10:21:35 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
>         at
> org.apache.cxf.binding.jbi.interceptor.JBIWrapperInInterceptor.handleMessage(JBIWrapperInInterceptor.java:105
> )
>         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:151)
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:201)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> 2008-mar-19 10:21:35
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
> INFO: Outbound Message
> ---------------------------
> Encoding: UTF-8
> Headers:
> Messages:
> Payload: <ns1:JBIFault xmlns:ns1="http://cxf.apache.org/bindings/jbi"><fault
> /></ns1:JBIFault>
> --------------------------------------
> 2008-mar-19 10:21:35 org.apache.cxf.transport.jbi.JBIDestinationOutputStream
> commitOutputMessage
> ALLVARLIG: error sending Out message
> java.lang.ClassCastException: java.lang.NullPointerException
>         at
> org.apache.cxf.transport.jbi.JBIDestinationOutputStream.commitOutputMessage(JBIDestinationOutputStream.java:8
> 8)
>         at
> org.apache.cxf.transport.jbi.JBIDestinationOutputStream.doClose(JBIDestinationOutputStream.java:61)
>         at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:154)
>         at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
>         at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:157)
>         at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSende
> rInterceptor.java:62)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.
> java:96)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:254)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
>         at
> org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:151)
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:201)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> DEBUG - DeliveryChannelImpl            - Notified:
> ID:192.168.0.187-118c6561bfe-14:0(133e208) in DeliveryChannel{service
> mix-cxf-bc} from sendSync
> DEBUG - DeliveryChannelImpl            - Exchange
> ID:192.168.0.187-118c6561bfe-14:0 has been aborted
> 2008-mar-19 10:21:45 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:466)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:197)
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:182)
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:442)
>         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.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:278)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:252)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:62)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:324)
>         at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>         at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>         at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>   




> CXF SE throws NPE on receipt of message from an EIP component
> -------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (SM-1279) CXF SE throws NPE on receipt of message from an EIP component

Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ron Gavlin reopened SM-1279:
----------------------------


At a minimum, I don't think the CXF-SE should throw a NPE in this case. A more meaningful error that identifies that "CXF-SE targeting routing requires an operation" would be more appropriate. Also, since the operation is usually optional for JBI routing, shouldn't the CXF-SE be smarter about auto-selecting the operation if possible?

- Ron

> CXF SE throws NPE on receipt of message from an EIP component
> -------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SM-1279) CXF SE throws NPE on receipt of message that does not specify an operation

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang resolved SM-1279.
------------------------------

    Resolution: Fixed

> CXF SE throws NPE on receipt of message that does not specify an operation
> --------------------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component that does not specify a target operation. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (SM-1279) CXF SE throws NPE on receipt of message that does not specify an operation

Posted by "Ron Gavlin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ron Gavlin updated SM-1279:
---------------------------

        Summary: CXF SE throws NPE on receipt of message that does not specify an operation  (was: CXF SE throws NPE on receipt of message from an EIP component)
    Description: 
CXF SE throws NPE on receipt of message from an EIP component that does not specify a target operation. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.



  was:
CXF SE throws NPE on receipt of message from an EIP component. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.




> CXF SE throws NPE on receipt of message that does not specify an operation
> --------------------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component that does not specify a target operation. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SM-1279) CXF SE throws NPE on receipt of message that does not specify an operation

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=41748#action_41748 ] 

Freeman Fang commented on SM-1279:
----------------------------------

Hi Ron,

Thanks for your comment.

Agree with we should use more meaningful exception instead of NPE. I will fix it in Cxf, create [1] to track it
About auto-selecting the operation, in case of using rpc mode, there is no operation info in the JBI wrapper message, so we can't uniquely identify the operation.
If you don't want to specify the operation for jbi exchange, you can use useJBIWrapper="false" new feature which we address for [2]SM-1242 

[1]https://issues.apache.org/jira/browse/CXF-1484
[2]https://issues.apache.org/activemq/browse/SM-1242
Best Regards

Freeman

> CXF SE throws NPE on receipt of message that does not specify an operation
> --------------------------------------------------------------------------
>
>                 Key: SM-1279
>                 URL: https://issues.apache.org/activemq/browse/SM-1279
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 3.2.1
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>
> CXF SE throws NPE on receipt of message from an EIP component that does not specify a target operation. In order to reproduce easily, modify the cxf-wsdl-first sample application by adding a servicemix-file SU with a poller/sender and a servicemix-eip:pipeline SU. Wire the file:poller to the eip:pipeline to both the cxf-se endpoint and the file:sender. Then create a file in the file:poller whose contents contains a jbi-wrapped cxf-wsdl-first request. The error generated is identical to the error generated by the following scenario: cxf-bc -> eip:staticRecipientList -> cxf-se. That scenario is described in the following mailing list entry http://www.nabble.com/cxfbc-eip-cxfse-problem-td16026202s12049.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.