You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Horst Studer (JIRA)" <ji...@apache.org> on 2006/11/01 18:49:02 UTC
[jira] Created: (SM-732) Fault-messages cause JbiChannel to throw
NullPointerException
Fault-messages cause JbiChannel to throw NullPointerException
-------------------------------------------------------------
Key: SM-732
URL: https://issues.apache.org/activemq/browse/SM-732
Project: ServiceMix
Issue Type: Bug
Components: servicemix-jsr181
Affects Versions: 3.0
Environment: not relevant
Reporter: Horst Studer
>From a service (jsr181 pojo), I am calling another service (also implemented as a
jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
an out message.
If, however, the called service throws an exception (i.e. returns a fault), there
is a NullPointerException in ...jsr181.xfire.JbiChannel.
There are two problems:
After the sendSync, there is a check to see if the exchange
status is ERROR, and if not, getOutMessage().getContent() is called.
The code assumes that after a fault, the exchange status is ERROR,
but in fact, it is ACTIVE and the fault-Message is set, while the
out-Message is null. So this causes the NullPointerException.
The other problem is that the code for handling the fault-Message
is missing (marked as // TODO, but as stated above, with the wrong
assumption that the exchange status is ERROR). It would be nice,
if the fault message would be processed an cause xfire to throw a
corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (SM-732) Fault-messages cause JbiChannel to throw
NullPointerException
Posted by "Grant McDonald (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-732?page=all ]
Grant McDonald resolved SM-732.
-------------------------------
Fix Version/s: 3.1
incubation
Resolution: Fixed
Author: grantm
Date: Sun Nov 12 03:47:00 2006 GMT+10
New Revision: 473875
URL: http://svn.apache.org/viewvc?view=rev&rev=473875
Log:
Issue: SM-732
Description: refactored to test for fault condition and return fault content as string argument to XFireFault
Modified: F:\Grant\Apache\ServiceMix\deployables\serviceengines\servicemix-jsr181\src\main\java\org\apache\servicemix\jsr181\xfire\JbiChannel.java
> Fault-messages cause JbiChannel to throw NullPointerException
> -------------------------------------------------------------
>
> Key: SM-732
> URL: https://issues.apache.org/activemq/browse/SM-732
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Environment: not relevant
> Reporter: Horst Studer
> Assigned To: Grant McDonald
> Fix For: 3.1, incubation
>
>
> From a service (jsr181 pojo), I am calling another service (also implemented as a
> jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
> an out message.
> If, however, the called service throws an exception (i.e. returns a fault), there
> is a NullPointerException in ...jsr181.xfire.JbiChannel.
> There are two problems:
> After the sendSync, there is a check to see if the exchange
> status is ERROR, and if not, getOutMessage().getContent() is called.
> The code assumes that after a fault, the exchange status is ERROR,
> but in fact, it is ACTIVE and the fault-Message is set, while the
> out-Message is null. So this causes the NullPointerException.
> The other problem is that the code for handling the fault-Message
> is missing (marked as // TODO, but as stated above, with the wrong
> assumption that the exchange status is ERROR). It would be nice,
> if the fault message would be processed an cause xfire to throw a
> corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (SM-732) Fault-messages cause JbiChannel to throw
NullPointerException
Posted by "Horst Studer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-732?page=comments#action_37356 ]
Horst Studer commented on SM-732:
---------------------------------
Here it is black on white:
{code}
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Error sending jbi exchange
org.codehaus.xfire.fault.XFireFault: Error sending jbi exchange
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at org.apache.servicemix.jsr181.xfire.JbiProxyFactoryBean$1.invoke(JbiProxyFactoryBean.java:71)
at $Proxy11.getABC(Unknown Source)
at com.x.y.z.XYZService.getXYZ(XYZService.java:77)
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:585)
at org.codehaus.xfire.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:54)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessage(ServiceInvocationHandler.java:271)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler$1.run(ServiceInvocationHandler.java:84)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.execute(ServiceInvocationHandler.java:132)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:107)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.doProcess(Jsr181ExchangeProcessor.java:111)
at org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:66)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:410)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:43)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:624)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:169)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:177)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:227)
at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.codehaus.xfire.XFireException: Error sending jbi exchange
at org.apache.servicemix.jsr181.xfire.JbiChannel.send(JbiChannel.java:122)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
... 31 more
Caused by: java.lang.NullPointerException
at org.apache.servicemix.jsr181.xfire.JbiChannel.send(JbiChannel.java:110)
... 32 more
{code}
> Fault-messages cause JbiChannel to throw NullPointerException
> -------------------------------------------------------------
>
> Key: SM-732
> URL: https://issues.apache.org/activemq/browse/SM-732
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Environment: not relevant
> Reporter: Horst Studer
>
> From a service (jsr181 pojo), I am calling another service (also implemented as a
> jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
> an out message.
> If, however, the called service throws an exception (i.e. returns a fault), there
> is a NullPointerException in ...jsr181.xfire.JbiChannel.
> There are two problems:
> After the sendSync, there is a check to see if the exchange
> status is ERROR, and if not, getOutMessage().getContent() is called.
> The code assumes that after a fault, the exchange status is ERROR,
> but in fact, it is ACTIVE and the fault-Message is set, while the
> out-Message is null. So this causes the NullPointerException.
> The other problem is that the code for handling the fault-Message
> is missing (marked as // TODO, but as stated above, with the wrong
> assumption that the exchange status is ERROR). It would be nice,
> if the fault message would be processed an cause xfire to throw a
> corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (SM-732) Fault-messages cause JbiChannel to throw
NullPointerException
Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-732?page=comments#action_37355 ]
Guillaume Nodet commented on SM-732:
------------------------------------
Could you please post the full exception stack trace ?
> Fault-messages cause JbiChannel to throw NullPointerException
> -------------------------------------------------------------
>
> Key: SM-732
> URL: https://issues.apache.org/activemq/browse/SM-732
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Environment: not relevant
> Reporter: Horst Studer
>
> From a service (jsr181 pojo), I am calling another service (also implemented as a
> jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
> an out message.
> If, however, the called service throws an exception (i.e. returns a fault), there
> is a NullPointerException in ...jsr181.xfire.JbiChannel.
> There are two problems:
> After the sendSync, there is a check to see if the exchange
> status is ERROR, and if not, getOutMessage().getContent() is called.
> The code assumes that after a fault, the exchange status is ERROR,
> but in fact, it is ACTIVE and the fault-Message is set, while the
> out-Message is null. So this causes the NullPointerException.
> The other problem is that the code for handling the fault-Message
> is missing (marked as // TODO, but as stated above, with the wrong
> assumption that the exchange status is ERROR). It would be nice,
> if the fault message would be processed an cause xfire to throw a
> corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Work started: (SM-732) Fault-messages cause JbiChannel to
throw NullPointerException
Posted by "Grant McDonald (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-732?page=all ]
Work on SM-732 started by Grant McDonald.
> Fault-messages cause JbiChannel to throw NullPointerException
> -------------------------------------------------------------
>
> Key: SM-732
> URL: https://issues.apache.org/activemq/browse/SM-732
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Environment: not relevant
> Reporter: Horst Studer
> Assigned To: Grant McDonald
>
> From a service (jsr181 pojo), I am calling another service (also implemented as a
> jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
> an out message.
> If, however, the called service throws an exception (i.e. returns a fault), there
> is a NullPointerException in ...jsr181.xfire.JbiChannel.
> There are two problems:
> After the sendSync, there is a check to see if the exchange
> status is ERROR, and if not, getOutMessage().getContent() is called.
> The code assumes that after a fault, the exchange status is ERROR,
> but in fact, it is ACTIVE and the fault-Message is set, while the
> out-Message is null. So this causes the NullPointerException.
> The other problem is that the code for handling the fault-Message
> is missing (marked as // TODO, but as stated above, with the wrong
> assumption that the exchange status is ERROR). It would be nice,
> if the fault message would be processed an cause xfire to throw a
> corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Assigned: (SM-732) Fault-messages cause JbiChannel to throw
NullPointerException
Posted by "Grant McDonald (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-732?page=all ]
Grant McDonald reassigned SM-732:
---------------------------------
Assignee: Grant McDonald
> Fault-messages cause JbiChannel to throw NullPointerException
> -------------------------------------------------------------
>
> Key: SM-732
> URL: https://issues.apache.org/activemq/browse/SM-732
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Environment: not relevant
> Reporter: Horst Studer
> Assigned To: Grant McDonald
>
> From a service (jsr181 pojo), I am calling another service (also implemented as a
> jsr181 pojo), using a jsr181 proxy. This works fine if the called service returns
> an out message.
> If, however, the called service throws an exception (i.e. returns a fault), there
> is a NullPointerException in ...jsr181.xfire.JbiChannel.
> There are two problems:
> After the sendSync, there is a check to see if the exchange
> status is ERROR, and if not, getOutMessage().getContent() is called.
> The code assumes that after a fault, the exchange status is ERROR,
> but in fact, it is ACTIVE and the fault-Message is set, while the
> out-Message is null. So this causes the NullPointerException.
> The other problem is that the code for handling the fault-Message
> is missing (marked as // TODO, but as stated above, with the wrong
> assumption that the exchange status is ERROR). It would be nice,
> if the fault message would be processed an cause xfire to throw a
> corresponding exception on the proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira