You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by janardan <nj...@yahoo.com> on 2011/02/23 11:42:14 UTC
Issue with using the Axis2 JAX-WS Client using Rampart
Issue with using the Axis2 JAX-WS Client using Rampart
I'm developing my Axis2 JAX-WS Client to consume the web service.
I'm using Axis2 1.5.4 and Rampart 1.5.1
When I ran the client with Axis2 1.4.1 and Rampart 1.4, it worked.
But when I try to use Axis2 1.5.x versions, I'm getting the null pointer
exception
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
When I compare the debug log of both, I could see that, rampart is receiving the
response.
I could see the statement
"*********************** RampartReceiver received"
But after that I could not see the statement
"*********************** WSDoAllReceiver recieved".
I could see the WSDoAllReceiver statement in the log which is working(Axis2
1.4.1+Rampart 1.4).
I'm attaching the debug log.
I'm engaging the rampart module in my client.axis2.xml.
<module ref="rampart"/>
<module ref="addressing"/>
<parameter name="OutflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<user>SRVC_CLAIMS_SIT</user>
<userCertAlias>SRVC_CLAIMS_SIT</userCertAlias>
<encryptionUser>SRVC_CLAIMS_SIT</encryptionUser>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
<signatureParts>
{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;
{Element}{http://www.w3.org/2003/05/soap-envelope}Body
</signatureParts>
<optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
</action>
</parameter>
<parameter name="InflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>IssuerSerial</signatureKeyIdentifier>
<enableSignatureConfirmation>false</enableSignatureConfirmation>
</action>
</parameter>
My policy.xml contains just the below content
<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
</ramp:RampartConfig>
I'm loading the Policy.xml in the client like this:
PartyService service = new PartyService();
PartyServiceInterface stub = service.getPartyServiceInterface();
String target = getEndPointAddress();
BindingProvider provider = (BindingProvider)stub;
provider.getRequestContext().put(RampartMessageData.KEY_RAMPART_POLICY,
loadPolicy("C:/TestJAXWS/META-INF/policy/policy.xml"));
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
target);
My crypto.properties is like below :
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.password=ABC5JHGFWWEDSWCT
org.apache.ws.security.crypto.merlin.file=srvc_claims_sit.jks
My WSDL has the below security configuration
<wsp:UsingPolicy required="true"/>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
wsu:Id="BTEndpointPolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<!-- .NET likes this -->
<!--
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
-->
<!-- .NET doesn't like this -->
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
<wsp:Policy>
<sp:RequireEmbeddedTokenReference/>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:MustSupportRefKeyIdentifier/>
<sp:MustSupportRefIssuerSerial/>
</wsp:Policy>
</sp:Wss10>
<wsaw:UsingAddressing required="true"/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTRequestSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTResponseSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTFaultSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Can some one please help me in resolving this issue please.
Re: Issue with using the Axis2 JAX-WS Client using Rampart
Posted by janardan <nj...@yahoo.com>.
Debug log file is not getting attached properly. So, I'm just pasting the log
here:
2011-02-23 20:38:52,941 DEBUG: *********************** RampartReceiver received
<?xml version='1.0' encoding='utf-8'?><soap-env:Envelope
xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope"><soap-env:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soap-env:mustUnderstand="true"><wsse:BinarySecurityToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId--88714958">MIIDfTCCAuqgAwIBAgIQPIP03yO8y6dIWqlqKH04mTAJBgUrDgMCHQUAMIGCMQswCQYDVQQGEwJB
B
VTEMMAoGA1UECBMDTlNXMQ8wDQYDVQQHEwZTeWRuZXkxJDAiBgNVBAoTG1dlc3RwYWMgQmFua2lu
ZyBDb3Jwb3JhdGlvbjEUMBIGA1UECxMLSVQgc2VjdXJpdHkxGDAWBgNVBAMTD1dlc3RwYWMgUm9v
dCBDQTAeFw0xMDA5MjMxNDAwMDBaFw0xMTA2MjAxNDAwMDBaMIGpMQwwCgYDVQQIEwNOU1cxDzAN
BgNVBAcTBlN5ZG5leTELMAkGA1UEBhMCQVUxHjAcBgNVBAsTFUJUIEZpbmFuY2lhbCBTZXJ2aWNl
czEkMCIGA1UEChMbV2VzdHBhYyBCYW5raW5nIENvcnBvcmF0aW9uMTUwMwYDVQQDHiwAUwBSAFYA
QwBfAEkAQwBDAF8ARABFAFYAQABiAHQAZgBpAG4ALgBjAG8AbTCBnzANBgkqhkiG9w0BAQEFAAOB
jQAwgYkCgYEAvhNysLKEgNuAyNN7tQBal14HNOlsX4ZXKS9oADhnv33cGO/DWzcSeBUw9quJ8TKP
9YY41d8yxEjT2llZv3iBT+SIcBECCOqbz4hR3yR9OP0qimp2imXpuuegUhGe8jiOi1iu1yltzj7Q
Z9UqyudwX++fHNc0UuVABE+0kNjbJfUCAwEAAaOB0jCBzzATBgNVHSUEDDAKBggrBgEFBQcDATCB
twYDVR0BBIGvMIGsgBBcCf2QHoqFywSiGGxPO5UDoYGFMIGCMQswCQYDVQQGEwJBVTEMMAoGA1UE
CBMDTlNXMQ8wDQYDVQQHEwZTeWRuZXkxJDAiBgNVBAoTG1dlc3RwYWMgQmFua2luZyBDb3Jwb3Jh
dGlvbjEUMBIGA1UECxMLSVQgc2VjdXJpdHkxGDAWBgNVBAMTD1dlc3RwYWMgUm9vdCBDQYIQO8yb
j70oz5ZO0p0Ea4ekDDAJBgUrDgMCHQUAA4GBALKgNCL24KJaKOZ+r7TUFqXQqoPlIy0OdvNtDXVF
c7kpiSi7IRpGkQzAknPJZsOy/pb3xZyNQBWS0EHOUb7KVItnW2NVocMFK0PkNvfg+gus6/C68Hhp
y1s7NYdlWeQY/aG6wMVmVrQuqPZcn6w8VOhEXMAvo+R7Ehnl6MgSE6jq</wsse:BinarySecurityToken><ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"
/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#id-13773849">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>yldlHxXXl/3XcFwxbDbv/pNgY9E=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#id-5064912">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>wMUdFcAlRKXHSSxs55iaNANy0W4=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
tvnoZ2cv1LNfCl+qEh5UsN0+jHLeAxv8rbcKg7dnjsof5FT9GfKVoZ7J7b8J4ShTao6x0PVjF+Hx
xPJYL4PD9oQgtR+E5waRO7ShcXaQBSpwwiFL1BRWjGz/9N2SLV6fOtkFTDT8+rgTDbKyY48lKQHn
I742z3qIa0hRFA14b0o=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-18243519">
<wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-31994023"><wsse:Reference URI="#CertId--88714958"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
/></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsu:Timestamp
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-13773849"><wsu:Created>2011-02-23T09:38:52.985Z</wsu:Created><wsu:Expires>2011-02-23T09:40:22.985Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap-env:Header><soap-env:Body
y
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-5064912"><ns0:RetrievePartyDetailsResponseMsg
xmlns:ns0="ns://btfin.com/Party/PartyService/PartyReply/V2_1">
///****I REMOVED THE CONTENT IN THE BODY HERE FOR CONFIDENTIALITY
</soap-env:Body></soap-env:Envelope> - at
org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:85)
(org.apache.rampart.MESSAGE)
2011-02-23 20:38:52,957 DEBUG: Enter process(MessageContext msgCtx) - at
org.apache.rampart.RampartEngine.process(RampartEngine.java:66)
(org.apache.rampart.RampartEngine)
2011-02-23 20:38:52,957 DEBUG: Enter process(MessageContext msgCtx) - at
org.apache.rampart.RampartEngine.process(RampartEngine.java:66)
(org.apache.rampart.RampartEngine)
2011-02-23 20:38:52,957 DEBUG: Unknown top level PED found:
org.apache.neethi.builders.xml.XmlPrimtiveAssertion - at
org.apache.rampart.policy.RampartPolicyBuilder.build(RampartPolicyBuilder.java:113)
(org.apache.rampart.policy.RampartPolicyBuilder)
2011-02-23 20:38:52,957 DEBUG: Unknown top level PED found:
org.apache.neethi.builders.xml.XmlPrimtiveAssertion - at
org.apache.rampart.policy.RampartPolicyBuilder.build(RampartPolicyBuilder.java:113)
(org.apache.rampart.policy.RampartPolicyBuilder)
2011-02-23 20:38:52,972 DEBUG: Loading Signature crypto - at
org.apache.rampart.util.RampartUtil.getSignatureCrypto(RampartUtil.java:374)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Loading Signature crypto - at
org.apache.rampart.util.RampartUtil.getSignatureCrypto(RampartUtil.java:374)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Processing security header in normal path - at
org.apache.rampart.RampartEngine.process(RampartEngine.java:153)
(org.apache.rampart.RampartEngine)
2011-02-23 20:38:52,972 DEBUG: Processing security header in normal path - at
org.apache.rampart.RampartEngine.process(RampartEngine.java:153)
(org.apache.rampart.RampartEngine)
2011-02-23 20:38:52,972 DEBUG: Loading encryption crypto - at
org.apache.rampart.util.RampartUtil.getEncryptionCrypto(RampartUtil.java:292)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Loading encryption crypto - at
org.apache.rampart.util.RampartUtil.getEncryptionCrypto(RampartUtil.java:292)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Trying the signature crypto info - at
org.apache.rampart.util.RampartUtil.getEncryptionCrypto(RampartUtil.java:326)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Trying the signature crypto info - at
org.apache.rampart.util.RampartUtil.getEncryptionCrypto(RampartUtil.java:326)
(org.apache.rampart.util.RampartUtil)
2011-02-23 20:38:52,972 DEBUG: Root Cause:java.lang.NullPointerException - at
org.apache.axis2.jaxws.ExceptionFactory.logRootCause(ExceptionFactory.java:308)
(org.apache.axis2.jaxws.ExceptionFactory)
2011-02-23 20:38:52,972 DEBUG: Root Cause:java.lang.NullPointerException - at
org.apache.axis2.jaxws.ExceptionFactory.logRootCause(ExceptionFactory.java:308)
(org.apache.axis2.jaxws.ExceptionFactory)
2011-02-23 20:38:52,972 DEBUG: stack:java.lang.NullPointerException
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.handleToken(BinarySecurityTokenProcessor.java:84)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245)
at org.apache.rampart.RampartEngine.process(RampartEngine.java:155)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:554)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:118)
at
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:82)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:317)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
at $Proxy11.retrievePartyDetails(Unknown Source)
at JAXWSPartyClient.<init>(JAXWSPartyClient.java:52)
at JAXWSPartyClient.main(JAXWSPartyClient.java:155)
- at
org.apache.axis2.jaxws.ExceptionFactory.logRootCause(ExceptionFactory.java:309)
(org.apache.axis2.jaxws.ExceptionFactory)
2011-02-23 20:38:52,972 DEBUG: stack:java.lang.NullPointerException
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.handleToken(BinarySecurityTokenProcessor.java:84)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245)
at org.apache.rampart.RampartEngine.process(RampartEngine.java:155)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:554)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:118)
at
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:82)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:317)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
at $Proxy11.retrievePartyDetails(Unknown Source)
at JAXWSPartyClient.<init>(JAXWSPartyClient.java:52)
at JAXWSPartyClient.main(JAXWSPartyClient.java:155)
- at
org.apache.axis2.jaxws.ExceptionFactory.logRootCause(ExceptionFactory.java:309)
(org.apache.axis2.jaxws.ExceptionFactory)
2011-02-23 20:38:52,988 DEBUG: Create Exception: - at
org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:179)
(org.apache.axis2.jaxws.ExceptionFactory)
javax.xml.ws.WebServiceException: java.lang.NullPointerException
at
org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)
at
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
at
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:559)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:118)
at
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:82)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:317)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
at $Proxy11.retrievePartyDetails(Unknown Source)
at JAXWSPartyClient.<init>(JAXWSPartyClient.java:52)
at JAXWSPartyClient.main(JAXWSPartyClient.java:155)
Caused by: java.lang.NullPointerException
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.handleToken(BinarySecurityTokenProcessor.java:84)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245)
at org.apache.rampart.RampartEngine.process(RampartEngine.java:155)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:554)
... 7 more
2011-02-23 20:38:52,988 DEBUG: Create Exception: - at
org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:179)
(org.apache.axis2.jaxws.ExceptionFactory)
javax.xml.ws.WebServiceException: java.lang.NullPointerException
at
org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)
at
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
at
org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:559)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:118)
at
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:82)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:317)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
at $Proxy11.retrievePartyDetails(Unknown Source)
at JAXWSPartyClient.<init>(JAXWSPartyClient.java:52)
at JAXWSPartyClient.main(JAXWSPartyClient.java:155)
Caused by: java.lang.NullPointerException
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.handleToken(BinarySecurityTokenProcessor.java:84)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245)
at org.apache.rampart.RampartEngine.process(RampartEngine.java:155)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:554)
... 7 more
________________________________
From: janardan <nj...@yahoo.com>
To: java-user@axis.apache.org
Sent: Wed, February 23, 2011 11:32:55 PM
Subject: Re: Issue with using the Axis2 JAX-WS Client using Rampart
It seems the attachment debuglog is not attached properly. I'm attaching it
again
________________________________
From: janardan <nj...@yahoo.com>
To: java-user@axis.apache.org
Sent: Wed, February 23, 2011 9:42:14 PM
Subject: Issue with using the Axis2 JAX-WS Client using Rampart
Issue with using the Axis2 JAX-WS Client using Rampart
I'm developing my Axis2 JAX-WS Client to consume the web service.
I'm using Axis2 1.5.4 and Rampart 1.5.1
When I ran the client with Axis2 1.4.1 and Rampart 1.4, it worked.
But when I try to use Axis2 1.5.x versions, I'm getting the null pointer
exception
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
When I compare the debug log of both, I could see that, rampart is receiving the
response.
I could see the statement
"*********************** RampartReceiver received"
But after that I could not see the statement
"*********************** WSDoAllReceiver recieved".
I could see the WSDoAllReceiver statement in the log which is working(Axis2
1.4.1+Rampart 1.4).
I'm attaching the debug log.
I'm engaging the rampart module in my client.axis2.xml.
<module ref="rampart"/>
<module ref="addressing"/>
<parameter name="OutflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<user>SRVC_CLAIMS_SIT</user>
<userCertAlias>SRVC_CLAIMS_SIT</userCertAlias>
<encryptionUser>SRVC_CLAIMS_SIT</encryptionUser>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
<signatureParts>
{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;
{Element}{http://www.w3.org/2003/05/soap-envelope}Body
</signatureParts>
<optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
< /action>
</parameter>
<parameter name="InflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>IssuerSerial</signatureKeyIdentifier>
<enableSignatureConfirmation>false</enableSignatureConfirmation>
</action>
</parameter>
My policy.xml contains just the below content
<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
</ramp:RampartConfig>
I'm loading the Policy.xml in the client like this:
PartyService service = new PartyService();
PartyServiceInterface stub = service.getPartyServiceInterface();
String target = getEndPointAddress();
BindingProvider provider = (BindingProvider)stub;
provider.getRequestContext().put(RampartMessageData.KEY_RAMPART_POLICY,
loadPolicy("C:/TestJAXWS/META-INF/policy/policy.xml"));
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
target);
My crypto.properties is like below :
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.password=ABC5JHGFWWEDSWCT
org.apache.ws.security.crypto.merlin.file=srvc_claims_sit.jks
My WSDL has the below security configuration
<wsp:UsingPolicy required="true"/>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
wsu:Id="BTEndpointPolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<!-- .NET likes this -->
<!--
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
-->
<!-- .NET doesn't like this -->
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
<wsp:Policy>
<sp:RequireEmbeddedTokenReference/>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/&g t;
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:MustSupportRefKeyIdentifier/>
<sp:MustSupportRefIssuerSerial/>
</wsp:Policy>
</sp:Wss10>
<wsaw:UsingAddressing required="true"/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTRequestSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd%22/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTResponseSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTFaultSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Can some one please help me in resolving this issue please.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org
Re: Issue with using the Axis2 JAX-WS Client using Rampart
Posted by janardan <nj...@yahoo.com>.
It seems the attachment debuglog is not attached properly. I'm attaching it
again
________________________________
From: janardan <nj...@yahoo.com>
To: java-user@axis.apache.org
Sent: Wed, February 23, 2011 9:42:14 PM
Subject: Issue with using the Axis2 JAX-WS Client using Rampart
Issue with using the Axis2 JAX-WS Client using Rampart
I'm developing my Axis2 JAX-WS Client to consume the web service.
I'm using Axis2 1.5.4 and Rampart 1.5.1
When I ran the client with Axis2 1.4.1 and Rampart 1.4, it worked.
But when I try to use Axis2 1.5.x versions, I'm getting the null pointer
exception
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:94)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:109)
When I compare the debug log of both, I could see that, rampart is receiving the
response.
I could see the statement
"*********************** RampartReceiver received"
But after that I could not see the statement
"*********************** WSDoAllReceiver recieved".
I could see the WSDoAllReceiver statement in the log which is working(Axis2
1.4.1+Rampart 1.4).
I'm attaching the debug log.
I'm engaging the rampart module in my client.axis2.xml.
<module ref="rampart"/>
<module ref="addressing"/>
<parameter name="OutflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<user>SRVC_CLAIMS_SIT</user>
<userCertAlias>SRVC_CLAIMS_SIT</userCertAlias>
<encryptionUser>SRVC_CLAIMS_SIT</encryptionUser>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
<signatureParts>
{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;
{Element}{http://www.w3.org/2003/05/soap-envelope}Body
</signatureParts>
<optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
< /action>
</parameter>
<parameter name="InflowSecurity">
<action>
<items>Timestamp Signature</items>
<signaturePropFile>crypto.properties</signaturePropFile>
<passwordCallbackClass>clientPasswordProvider</passwordCallbackClass>
<signatureKeyIdentifier>IssuerSerial</signatureKeyIdentifier>
<enableSignatureConfirmation>false</enableSignatureConfirmation>
</action>
</parameter>
My policy.xml contains just the below content
<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
</ramp:RampartConfig>
I'm loading the Policy.xml in the client like this:
PartyService service = new PartyService();
PartyServiceInterface stub = service.getPartyServiceInterface();
String target = getEndPointAddress();
BindingProvider provider = (BindingProvider)stub;
provider.getRequestContext().put(RampartMessageData.KEY_RAMPART_POLICY,
loadPolicy("C:/TestJAXWS/META-INF/policy/policy.xml"));
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
target);
My crypto.properties is like below :
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.password=ABC5JHGFWWEDSWCT
org.apache.ws.security.crypto.merlin.file=srvc_claims_sit.jks
My WSDL has the below security configuration
<wsp:UsingPolicy required="true"/>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
wsu:Id="BTEndpointPolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<!-- .NET likes this -->
<!--
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
-->
<!-- .NET doesn't like this -->
<sp:X509Token
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
<wsp:Policy>
<sp:RequireEmbeddedTokenReference/>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/&g t;
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:MustSupportRefKeyIdentifier/>
<sp:MustSupportRefIssuerSerial/>
</wsp:Policy>
</sp:Wss10>
<wsaw:UsingAddressing required="true"/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTRequestSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTResponseSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
<sp:Header Name="Timestamp"
Namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="BTFaultSecureMessagePolicy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Can some one please help me in resolving this issue please.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@axis.apache.org
For additional commands, e-mail: java-user-help@axis.apache.org