[
https://issues.apache.org/activemq/browse/SMXCOMP-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Freeman Fang reassigned SMXCOMP-555:
------------------------------------
Assignee: Freeman Fang
> Not correctly processed org.apache.axis2.AxisFault when using
> servicemix-cxf-bc as a web service proxy, causes
> java.lang.NullPointerException in JbiInWsdl1Interceptor class
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: SMXCOMP-555
> URL: https://issues.apache.org/activemq/browse/SMXCOMP-555
> Project: ServiceMix Components
> Issue Type: Bug
> Components: servicemix-cxf-bc
> Affects Versions: servicemix-cxf-bc-2008.01, servicemix-cxf-bc-2009.01
> Environment: ServiceMix 3.3, Apache Axis2 1.4.1, Apache Rampart 1.4
> Reporter: Radek Jira
> Assignee: Freeman Fang
> Fix For: servicemix-cxf-bc-2009.02
>
>
> I have implemented Axis2 web service using Rampart module for
> username/password authentication. Direct request to the service
> implementation looks like (header is generated by Rampart, based on WS
> Security Policy using Password Digest):
> \\
> \\
> {code:xml}
> <?xml version='1.0' encoding='UTF-8'?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header>
> <wsse:Security
>
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> soapenv:mustUnderstand="1">
> <wsse:UsernameToken
>
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="UsernameToken-29057219">
> <wsse:Username>libuser</wsse:Username>
> <wsse:Password
> Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">zjSmm202AHSBk2N6gW0bzYjJq8U=
> </wsse:Password>
> <wsse:Nonce>i+46ifpbSz1OHWRL57W0yg==
> </wsse:Nonce>
> <wsu:Created>2009-05-30T12:15:15.703Z
> </wsu:Created>
> </wsse:UsernameToken>
> </wsse:Security>
> </soapenv:Header>
> <soapenv:Body>
> <ns1:NewOperation xmlns:ns1="http://www.example.org/Axis2/">
> <in>TEST</in>
> </ns1:NewOperation>
> </soapenv:Body>
> </soapenv:Envelope>
> {code}
> If authentication fails AxisFault is thrown which produces this response to
> the client (it works correctly):
> \\
> \\
> {code:xml}
> <?xml version='1.0' encoding='UTF-8'?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Body>
> <soapenv:Fault
>
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
> <faultcode>wsse:InvalidSecurity</faultcode>
> <faultstring>The security token could not be
> authenticated or authorized</faultstring>
> <detail />
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>
> {code}
> If I easily add this service to the ServiceMix, fault is not propagated to
> the client, because ServiceMix throws this exception (servicemix-cxf-bc
> doesn't work as a proxy only and stops returning response to the client
> because of exception):
> \\
> \\
> {noformat}
> java.lang.NullPointerException
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleJBIFault(JbiInWsdl1Interceptor.java:235)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:149)
> at
> org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:59)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> at
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:137)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2029)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1865)
> at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:236)
> 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)
> {noformat}
> I tried almost all version of servicemix-cxf-bc components (2008.1, 2009.1,
> last source) with no success.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.