cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aki Yoshida (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-3349) NPE may be thrown in WS-RM scenarios at the server side when rebasing the response
Date Fri, 18 Feb 2011 16:53:38 GMT
NPE may be thrown in WS-RM scenarios at the server side when rebasing the response
----------------------------------------------------------------------------------

                 Key: CXF-3349
                 URL: https://issues.apache.org/jira/browse/CXF-3349
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 2.3.2
            Reporter: Aki Yoshida
             Fix For: 2.4, 2.3.3


Some WS-RM scenarios may sometimes result in the following exception at the provider/server
side under the piggyback mode..

{quote}
java.lang.NullPointerException: null
 at org.apache.cxf.ws.addressing.ContextUtils$2.getBackChannel(ContextUtils.java:471) ~[org.apache.cxf.cxf-bundle-2.3.2.jar:2.3.2]
 at org.apache.cxf.interceptor.OneWayProcessorInterceptor.handleMessage(OneWayProcessorInterceptor.java:87)
~[na:na]
 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
~[org.apache.cxf.cxf-bundle-2.3.2.jar:2.3.2]
 at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)

...
{quote}
The cause of this problem seems to be in the rebaseResponse method of org.apache.cxf.ws.addressing.ContextUtils,
where the destination endpoint is determined in the following code:
{code}
421                     Destination destination = createDecoupledDestination(
422                         exchange, reference);
423                     exchange.setDestination(destination);
{code}

As this reference parameter could become null, it needs a similar handling as in the code
a few lines above:
{code}
388                                                             reference == null
389                                                             ? ContextUtils.getNoneEndpointReference()
390                                                             : reference 
{code}
Alternatively, the reference variable can be set to ContextUtils.getNoneEndpointReference()
at the beginning of this rebaseResponse method to prevent this problem.

This problem does not occur in 2.2.x because this second use/reference of the referece variable
is only present in 2.3.x.

I believe this change will solve this issue.

Regards, aki

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message