You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Harbeer Kadian <ha...@altair.com> on 2010/04/27 14:34:02 UTC

Getting NullPointerException when talking to NMR Endpoint

Hi,

I checked the example given in servicemix 4.0 CXF-Camel NMR.
I tried to follow the example.

I created a CXF Stack webservice and deployed it as an OSGI Bundle in the
servicemix.
I used the nmr endpoint instead of hosting it on http port.
My spring config file is as follows
<jaxws:endpoint id="PersonEndPointWebService"
                    implementor="#PersonEndPoint"
                    address="nmr:Persons"/>

I had another bundle which has following route inside it.
from("direct:NMR")
        .to("nmr:Persons");

I sent a soap envelope message on the Direct EndPoint.
The problem here is that the message is not reaching to the NMR Endpoint.
It is giving following exception.
java.lang.NullPointerException
	at
org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)

The surprising thing here is that the example provided with the servicemix
4.0 CXF-Camel NMR is working fine. The only change I observed is that the
example is keeping all the things in the same bundle whereas in my case the
NMR endpoint and the router are in different bundles.

Please help.

With Regards
Harbeer Kadian
-- 
View this message in context: http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28376375.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Getting NullPointerException when talking to NMR Endpoint

Posted by Willem Jiang <wi...@gmail.com>.
The nmr endpoint should work across the bundles.
Can you check if CXF Bundle is started for the camel-nmr bundle?

Willem

Harbeer Kadian wrote:
> HI,
> 
> The CXF Bundle is deployed properly.
> I had these lines in the log files.
> 
> Creating Service {http://impl.ws.esb.com/}PersonEndPointImplImplService from
> class com.esb.ws.impl.PersonEndPointImpl
> ServerImpl                       | g.apache.cxf.endpoint.ServerImpl   91 |
> Setting the server's publish address to be nmr:Persons
> 
> Also I did not received any exception when starting the CXF Bundle.
> 
> With Regards
> Harbeer Kadian
> 
> 
> 
> willem.jiang wrote:
>> Can you make sure the cxf bundle is started rightly before the camel 
>> route bundle?
>> For the stack trace , I think the CXF endpoint is not start rightly.
>>
>> Willem
>>
>> Harbeer Kadian wrote:
>>> Hi,
>>>
>>> I checked the example given in servicemix 4.0 CXF-Camel NMR.
>>> I tried to follow the example.
>>>
>>> I created a CXF Stack webservice and deployed it as an OSGI Bundle in the
>>> servicemix.
>>> I used the nmr endpoint instead of hosting it on http port.
>>> My spring config file is as follows
>>> <jaxws:endpoint id="PersonEndPointWebService"
>>>                     implementor="#PersonEndPoint"
>>>                     address="nmr:Persons"/>
>>>
>>> I had another bundle which has following route inside it.
>>> from("direct:NMR")
>>>         .to("nmr:Persons");
>>>
>>> I sent a soap envelope message on the Direct EndPoint.
>>> The problem here is that the message is not reaching to the NMR Endpoint.
>>> It is giving following exception.
>>> java.lang.NullPointerException
>>> 	at
>>> org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
>>> 	at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>> 	at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>
>>> The surprising thing here is that the example provided with the
>>> servicemix
>>> 4.0 CXF-Camel NMR is working fine. The only change I observed is that the
>>> example is keeping all the things in the same bundle whereas in my case
>>> the
>>> NMR endpoint and the router are in different bundles.
>>>
>>> Please help.
>>>
>>> With Regards
>>> Harbeer Kadian
>>
>>
> 


Re: Getting NullPointerException when talking to NMR Endpoint

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

My comment inlien
On 2010-4-29, at 下午6:25, Harbeer Kadian wrote:

>
> Hi,
>
> I am using following version of servicemix
> FUSE ESB v. 4.2.0
>
> Also I am giving more description of what I did.
> I have a cxf webservice exposed as nmr endpoint using following
> configuration.
> jaxws:endpoint id="PersonEndPointWebService"
>                    implementor="#PersonEndPoint"
>                    address="nmr:Persons"/>
>
> And my another bundle contains a route
> from("direct:Initiator")
> .to("nmr:Persons");
>
> Also I went through following content given on this webpage.
> It tells that you have to use a certain format while defining any nmr
> endpoint on a weservice annotated class.
> nmr:endpoint:serviceNamespace[sep]serviceName[sep]endpointName
>
> Do I also need to add all this information in my spring beans file.
No, you needn't,  use nmr: endpointName only should be ok in your case.

And the NPE you encounter is caused by can't get NMR service from OSGi  
Service Registry.
Could you use osgi:list to see if "Apache ServiceMix NMR OSGi" start  
correctly?
It should be something like
[  54] [Active     ] [Created     ] [       ] [   60] Apache  
ServiceMix NMR OSGi (1.2.0.fuse-01-00)

Also, you can use osgi:ls to see the OSGi services provided by "Apache  
ServiceMix NMR OSGi"bundle.
There should be something like
Apache ServiceMix NMR OSGi (54) provides:
-----------------------------------------
org.apache.servicemix.nmr.api.security.AuthorizationEntry
org.apache.servicemix.nmr.api.NMR
...

If the bundle not start correctly or the  
org.apache.servicemix.nmr.api.NMR service missing, you need check your  
log the see if there's any exception.

Btw, you also need ensure camel-nmr and cxf-nmr features get installed  
before you run your testcase.
You can use "features:list" to get status of those feature and use  
"features:install" to install them if they are not installed  yet.

Freeman
>
> With Regards
> Harbeer Kadian
>
>
>
> Freeman Fang wrote:
>>
>> Hi,
>>
>> Please tell me the exact smx 4 version you are using, I checked  
>> apache
>> servicemix 4.0 code, but ServiceMixProducer.java:44 won't throw NPE.
>>
>> Thanks
>>
>> Freeman
>> On 2010-4-28, at 下午5:18, Harbeer Kadian wrote:
>>
>>>
>>> HI,
>>>
>>> The CXF Bundle is deployed properly.
>>> I had these lines in the log files.
>>>
>>> Creating Service {http://
>>> impl.ws.esb.com/}PersonEndPointImplImplService from
>>> class com.esb.ws.impl.PersonEndPointImpl
>>> ServerImpl                       |
>>> g.apache.cxf.endpoint.ServerImpl   91 |
>>> Setting the server's publish address to be nmr:Persons
>>>
>>> Also I did not received any exception when starting the CXF Bundle.
>>>
>>> With Regards
>>> Harbeer Kadian
>>>
>>>
>>>
>>> willem.jiang wrote:
>>>>
>>>> Can you make sure the cxf bundle is started rightly before the  
>>>> camel
>>>> route bundle?
>>>> For the stack trace , I think the CXF endpoint is not start  
>>>> rightly.
>>>>
>>>> Willem
>>>>
>>>> Harbeer Kadian wrote:
>>>>> Hi,
>>>>>
>>>>> I checked the example given in servicemix 4.0 CXF-Camel NMR.
>>>>> I tried to follow the example.
>>>>>
>>>>> I created a CXF Stack webservice and deployed it as an OSGI Bundle
>>>>> in the
>>>>> servicemix.
>>>>> I used the nmr endpoint instead of hosting it on http port.
>>>>> My spring config file is as follows
>>>>> <jaxws:endpoint id="PersonEndPointWebService"
>>>>>                   implementor="#PersonEndPoint"
>>>>>                   address="nmr:Persons"/>
>>>>>
>>>>> I had another bundle which has following route inside it.
>>>>> from("direct:NMR")
>>>>>       .to("nmr:Persons");
>>>>>
>>>>> I sent a soap envelope message on the Direct EndPoint.
>>>>> The problem here is that the message is not reaching to the NMR
>>>>> Endpoint.
>>>>> It is giving following exception.
>>>>> java.lang.NullPointerException
>>>>> 	at
>>>>> org
>>>>> .apache
>>>>> .servicemix
>>>>> .camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
>>>>> 	at
>>>>> org.apache.camel.processor.SendProcessor
>>>>> $1.doInProducer(SendProcessor.java:97)
>>>>> 	at
>>>>> org.apache.camel.processor.SendProcessor
>>>>> $1.doInProducer(SendProcessor.java:95)
>>>>>
>>>>> The surprising thing here is that the example provided with the
>>>>> servicemix
>>>>> 4.0 CXF-Camel NMR is working fine. The only change I observed is
>>>>> that the
>>>>> example is keeping all the things in the same bundle whereas in my
>>>>> case
>>>>> the
>>>>> NMR endpoint and the router are in different bundles.
>>>>>
>>>>> Please help.
>>>>>
>>>>> With Regards
>>>>> Harbeer Kadian
>>>>
>>>>
>>>>
>>>
>>> -- 
>>> View this message in context:
>>> http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28386474.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>
>>
>> -- 
>> Freeman Fang
>> ------------------------
>> Open Source SOA: http://fusesource.com
>>
>>
>>
>
> -- 
> View this message in context: http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28398836.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>


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


Re: Getting NullPointerException when talking to NMR Endpoint

Posted by Harbeer Kadian <ha...@altair.com>.
Hi,

I am using following version of servicemix
FUSE ESB v. 4.2.0

Also I am giving more description of what I did.
I have a cxf webservice exposed as nmr endpoint using following
configuration.
jaxws:endpoint id="PersonEndPointWebService"
                    implementor="#PersonEndPoint"
                    address="nmr:Persons"/>

And my another bundle contains a route
from("direct:Initiator")
.to("nmr:Persons");

Also I went through following content given on this webpage.
It tells that you have to use a certain format while defining any nmr
endpoint on a weservice annotated class.
nmr:endpoint:serviceNamespace[sep]serviceName[sep]endpointName

Do I also need to add all this information in my spring beans file.

With Regards
Harbeer Kadian



Freeman Fang wrote:
> 
> Hi,
> 
> Please tell me the exact smx 4 version you are using, I checked apache  
> servicemix 4.0 code, but ServiceMixProducer.java:44 won't throw NPE.
> 
> Thanks
> 
> Freeman
> On 2010-4-28, at 下午5:18, Harbeer Kadian wrote:
> 
>>
>> HI,
>>
>> The CXF Bundle is deployed properly.
>> I had these lines in the log files.
>>
>> Creating Service {http:// 
>> impl.ws.esb.com/}PersonEndPointImplImplService from
>> class com.esb.ws.impl.PersonEndPointImpl
>> ServerImpl                       |  
>> g.apache.cxf.endpoint.ServerImpl   91 |
>> Setting the server's publish address to be nmr:Persons
>>
>> Also I did not received any exception when starting the CXF Bundle.
>>
>> With Regards
>> Harbeer Kadian
>>
>>
>>
>> willem.jiang wrote:
>>>
>>> Can you make sure the cxf bundle is started rightly before the camel
>>> route bundle?
>>> For the stack trace , I think the CXF endpoint is not start rightly.
>>>
>>> Willem
>>>
>>> Harbeer Kadian wrote:
>>>> Hi,
>>>>
>>>> I checked the example given in servicemix 4.0 CXF-Camel NMR.
>>>> I tried to follow the example.
>>>>
>>>> I created a CXF Stack webservice and deployed it as an OSGI Bundle  
>>>> in the
>>>> servicemix.
>>>> I used the nmr endpoint instead of hosting it on http port.
>>>> My spring config file is as follows
>>>> <jaxws:endpoint id="PersonEndPointWebService"
>>>>                    implementor="#PersonEndPoint"
>>>>                    address="nmr:Persons"/>
>>>>
>>>> I had another bundle which has following route inside it.
>>>> from("direct:NMR")
>>>>        .to("nmr:Persons");
>>>>
>>>> I sent a soap envelope message on the Direct EndPoint.
>>>> The problem here is that the message is not reaching to the NMR  
>>>> Endpoint.
>>>> It is giving following exception.
>>>> java.lang.NullPointerException
>>>> 	at
>>>> org 
>>>> .apache 
>>>> .servicemix 
>>>> .camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
>>>> 	at
>>>> org.apache.camel.processor.SendProcessor 
>>>> $1.doInProducer(SendProcessor.java:97)
>>>> 	at
>>>> org.apache.camel.processor.SendProcessor 
>>>> $1.doInProducer(SendProcessor.java:95)
>>>>
>>>> The surprising thing here is that the example provided with the
>>>> servicemix
>>>> 4.0 CXF-Camel NMR is working fine. The only change I observed is  
>>>> that the
>>>> example is keeping all the things in the same bundle whereas in my  
>>>> case
>>>> the
>>>> NMR endpoint and the router are in different bundles.
>>>>
>>>> Please help.
>>>>
>>>> With Regards
>>>> Harbeer Kadian
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28386474.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
> 
> 
> -- 
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28398836.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Getting NullPointerException when talking to NMR Endpoint

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

Please tell me the exact smx 4 version you are using, I checked apache  
servicemix 4.0 code, but ServiceMixProducer.java:44 won't throw NPE.

Thanks

Freeman
On 2010-4-28, at 下午5:18, Harbeer Kadian wrote:

>
> HI,
>
> The CXF Bundle is deployed properly.
> I had these lines in the log files.
>
> Creating Service {http:// 
> impl.ws.esb.com/}PersonEndPointImplImplService from
> class com.esb.ws.impl.PersonEndPointImpl
> ServerImpl                       |  
> g.apache.cxf.endpoint.ServerImpl   91 |
> Setting the server's publish address to be nmr:Persons
>
> Also I did not received any exception when starting the CXF Bundle.
>
> With Regards
> Harbeer Kadian
>
>
>
> willem.jiang wrote:
>>
>> Can you make sure the cxf bundle is started rightly before the camel
>> route bundle?
>> For the stack trace , I think the CXF endpoint is not start rightly.
>>
>> Willem
>>
>> Harbeer Kadian wrote:
>>> Hi,
>>>
>>> I checked the example given in servicemix 4.0 CXF-Camel NMR.
>>> I tried to follow the example.
>>>
>>> I created a CXF Stack webservice and deployed it as an OSGI Bundle  
>>> in the
>>> servicemix.
>>> I used the nmr endpoint instead of hosting it on http port.
>>> My spring config file is as follows
>>> <jaxws:endpoint id="PersonEndPointWebService"
>>>                    implementor="#PersonEndPoint"
>>>                    address="nmr:Persons"/>
>>>
>>> I had another bundle which has following route inside it.
>>> from("direct:NMR")
>>>        .to("nmr:Persons");
>>>
>>> I sent a soap envelope message on the Direct EndPoint.
>>> The problem here is that the message is not reaching to the NMR  
>>> Endpoint.
>>> It is giving following exception.
>>> java.lang.NullPointerException
>>> 	at
>>> org 
>>> .apache 
>>> .servicemix 
>>> .camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
>>> 	at
>>> org.apache.camel.processor.SendProcessor 
>>> $1.doInProducer(SendProcessor.java:97)
>>> 	at
>>> org.apache.camel.processor.SendProcessor 
>>> $1.doInProducer(SendProcessor.java:95)
>>>
>>> The surprising thing here is that the example provided with the
>>> servicemix
>>> 4.0 CXF-Camel NMR is working fine. The only change I observed is  
>>> that the
>>> example is keeping all the things in the same bundle whereas in my  
>>> case
>>> the
>>> NMR endpoint and the router are in different bundles.
>>>
>>> Please help.
>>>
>>> With Regards
>>> Harbeer Kadian
>>
>>
>>
>
> -- 
> View this message in context: http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28386474.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>


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


Re: Getting NullPointerException when talking to NMR Endpoint

Posted by Harbeer Kadian <ha...@altair.com>.
HI,

The CXF Bundle is deployed properly.
I had these lines in the log files.

Creating Service {http://impl.ws.esb.com/}PersonEndPointImplImplService from
class com.esb.ws.impl.PersonEndPointImpl
ServerImpl                       | g.apache.cxf.endpoint.ServerImpl   91 |
Setting the server's publish address to be nmr:Persons

Also I did not received any exception when starting the CXF Bundle.

With Regards
Harbeer Kadian



willem.jiang wrote:
> 
> Can you make sure the cxf bundle is started rightly before the camel 
> route bundle?
> For the stack trace , I think the CXF endpoint is not start rightly.
> 
> Willem
> 
> Harbeer Kadian wrote:
>> Hi,
>> 
>> I checked the example given in servicemix 4.0 CXF-Camel NMR.
>> I tried to follow the example.
>> 
>> I created a CXF Stack webservice and deployed it as an OSGI Bundle in the
>> servicemix.
>> I used the nmr endpoint instead of hosting it on http port.
>> My spring config file is as follows
>> <jaxws:endpoint id="PersonEndPointWebService"
>>                     implementor="#PersonEndPoint"
>>                     address="nmr:Persons"/>
>> 
>> I had another bundle which has following route inside it.
>> from("direct:NMR")
>>         .to("nmr:Persons");
>> 
>> I sent a soap envelope message on the Direct EndPoint.
>> The problem here is that the message is not reaching to the NMR Endpoint.
>> It is giving following exception.
>> java.lang.NullPointerException
>> 	at
>> org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
>> 	at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>> 	at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>> 
>> The surprising thing here is that the example provided with the
>> servicemix
>> 4.0 CXF-Camel NMR is working fine. The only change I observed is that the
>> example is keeping all the things in the same bundle whereas in my case
>> the
>> NMR endpoint and the router are in different bundles.
>> 
>> Please help.
>> 
>> With Regards
>> Harbeer Kadian
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Getting-NullPointerException-when-talking-to-NMR-Endpoint-tp28376375p28386474.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Getting NullPointerException when talking to NMR Endpoint

Posted by Willem Jiang <wi...@gmail.com>.
Can you make sure the cxf bundle is started rightly before the camel 
route bundle?
For the stack trace , I think the CXF endpoint is not start rightly.

Willem

Harbeer Kadian wrote:
> Hi,
> 
> I checked the example given in servicemix 4.0 CXF-Camel NMR.
> I tried to follow the example.
> 
> I created a CXF Stack webservice and deployed it as an OSGI Bundle in the
> servicemix.
> I used the nmr endpoint instead of hosting it on http port.
> My spring config file is as follows
> <jaxws:endpoint id="PersonEndPointWebService"
>                     implementor="#PersonEndPoint"
>                     address="nmr:Persons"/>
> 
> I had another bundle which has following route inside it.
> from("direct:NMR")
>         .to("nmr:Persons");
> 
> I sent a soap envelope message on the Direct EndPoint.
> The problem here is that the message is not reaching to the NMR Endpoint.
> It is giving following exception.
> java.lang.NullPointerException
> 	at
> org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:44)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
> 
> The surprising thing here is that the example provided with the servicemix
> 4.0 CXF-Camel NMR is working fine. The only change I observed is that the
> example is keeping all the things in the same bundle whereas in my case the
> NMR endpoint and the router are in different bundles.
> 
> Please help.
> 
> With Regards
> Harbeer Kadian