You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2009/06/02 10:14:50 UTC

[jira] Work started: (SMXCOMP-555) Not correctly processed org.apache.axis2.AxisFault when using servicemix-cxf-bc as a web service proxy, causes java.lang.NullPointerException in JbiInWsdl1Interceptor class

     [ https://issues.apache.org/activemq/browse/SMXCOMP-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on SMXCOMP-555 started by 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.