You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by Massimiliano Masi <ma...@math.unifi.it> on 2009/01/12 21:33:20 UTC

Unable to map an axisfault to an exception

Hello,

I've a soapfault (a TrustException.INVALID_REQUEST):

  <soapenv:Fault xmlns:axis2ns1="http://www.w3.org/2003/05/soap-envelope">
             <soapenv:Code>
                <soapenv:Value>axis2ns1:InvalidRequest</soapenv:Value>
             </soapenv:Code>
7a

             <soapenv:Reason>
                <soapenv:Text xml:lang="en-US">The request was invalid  
or malformed, "{0}"</soapenv:Text>
             </soapenv:Reason>
21

             <soapenv:Detail></soapenv:Detail>
32

          </soapenv:Fault>

but in the client code, I cannot catch such an exception. I have the  
following code:


			 resp = stsClient.requestSecurityToken(servicePolicy, stsuri,  
stsPolicy, "http://www.mascanc.net");

			  System.out.println(resp.getToken());


		 }
		 catch (Exception e)
		 {
			 l.error("Unable to perform the RequestSecurityToken: " +  
e.getMessage(),e);
			 throw new WsTrust13RequestSecurityTokenException("Unable to  
perform the RequestSecurityToken: " + e.getMessage());
		 }


and the exception is not mapped in ``e'':

org.apache.axis2.AxisFault: Missing wsse:Security header in request
	at  
org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:172)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
	at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
	at  
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:363)
	at  
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
	at  
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
	at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:134)
	at  
com.spirit.XUA.client.ws.WsTrust13RequestSecurityToken.invokeSTS(WsTrust13RequestSecurityToken.java:102)
	at com.spirit.XUA.client.ws.junit.ClientTest.test_client(ClientTest.java:40)
	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.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
	at  
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
	at  
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
	at  
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
	at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
	at  
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
	at  
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
	at  
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
	at  
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
	at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
	at  
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
	at  
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.apache.rampart.RampartException: Missing wsse:Security  
header in request
	at org.apache.rampart.RampartEngine.process(RampartEngine.java:117)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
	... 31 more

and this is the l.error():


4 [main] ERROR com.spirit.XUA.client.ws.WsTrust13RequestSecurityToken   
- Unable to perform the RequestSecurityToken: Error in obtaining token  
from :  
"http://localhost:8082/SpiritIdentityProvider/services/SpiritIdentityProvider"
org.apache.rahas.TrustException: Error in obtaining token from :  
"http://localhost:8082/SpiritIdentityProvider/services/SpiritIdentityProvider"
	at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:141)
	at  
com.spirit.XUA.client.ws.WsTrust13RequestSecurityToken.invokeSTS(WsTrust13RequestSecurityToken.java:102)
	at com.spirit.XUA.client.ws.junit.ClientTest.test_client(ClientTest.java:40)
	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.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
	at  
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
	at  
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
	at  
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
	at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
	at  
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
	at  
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
	at  
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
	at  
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
	at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
	at  
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
	at  
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at  
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.