Hi Francois,

 

I noticed you don't need the server policy file at all on the client side.

 

I do this:

 

client.engageModule("rampart");

options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, null);

 

where client is the ServiceClient.

 

HTH

 

James

 

From: COURTAULT Francois [mailto:francois.courta...@gemalto.com] 
Sent: 31 January 2012 18:54
To: java-user@axis.apache.org
Subject: Completly lost
Importance: High

 

Hello everybody,

 

I am puzzled L I use axis2-1.6.0 and rampart-1.6.0 because I have discovered
a bug in 1.6.1.

Anyway, I try to write axis2 client code by using this axis2 version in
order to access to a WS, hosted in Weblogic,  protected with the policy
attached (policy.xml).

 

When I run my client code several times inside Eclipse, then I met my first
issue: the behavior is not the same J

-          Sometimes I got:   Exception in thread "main"
java.lang.NullPointerException

at
org.apache.rampart.builder.BindingBuilder.getSignatureBuilder(BindingBuilder
.java:274)

at
org.apache.rampart.builder.BindingBuilder.getSignatureBuilder(BindingBuilder
.java:250)

at
org.apache.rampart.builder.AsymmetricBindingBuilder.doSignature(AsymmetricBi
ndingBuilder.java:722)

at
org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(Asym
metricBindingBuilder.java:419)

at
org.apache.rampart.builder.AsymmetricBindingBuilder.build(AsymmetricBindingB
uilder.java:95)

at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:147)

at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)

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.send(AxisEngine.java:419)

at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperatio
n.java:402)

at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisO
peration.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at
com.gemalto.test.axis2.SimpleWSEJBServiceStub.helloWorld(SimpleWSEJBServiceS
tub.java:187)

at
com.gemalto.test.axis2.TestSimpleWSAxis2ClientX509.main(TestSimpleWSAxis2Cli
entX509.java:44)

-          Sometimes I got:  org.apache.axis2.AxisFault:  Error codes: 3201
Error code:3201

                at
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531
)

at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAx
isOperation.java:375)

at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperatio
n.java:421)

at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisO
peration.java:229)

at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

at
com.gemalto.test.axis2.SimpleWSEJBServiceStub.helloWorld(SimpleWSEJBServiceS
tub.java:187)

at
com.gemalto.test.axis2.TestSimpleWSAxis2ClientX509.main(TestSimpleWSAxis2Cli
entX509.java:44)

Is this random behavior normal ? Have you some explanations ? How can we fix
it ? 

I have tested the same client code with Axis1.5.6 and rampart-1.5.2 and I
have seen the same random behavior L

 

I have also seen that I have in my client code some deprecated methods are
used: does it explain this random behavior ?

The deprecated code lines are:

-          if (pwcb.getIdentifer().equals("xxx"))

-
sc.getAxisService().getPolicyInclude().addPolicyElement(PolicyInclude.AXIS_S
ERVICE_POLICY, rampartConfig);

Any advice to replace this deprecated method because I have seen nothing in
the javadoc for that L 

 

When I got the second issue (org.apache.axis2.AxisFault:  Error codes: 3201
Error code:3201), I made a dump of the exchange and compared it a SOAP
request which works. According to my analysis the only difference I saw (I
have attached also these two SOAP requests for your own analysis or deeper
analysis) is that, in the SOAP request generated by Axis2, in the <KeyInfo
<wsse:SecurityTokenReference section, a <wsse:KeyIdentifier section is
missing. Do you agree with me or is it something else ?  Is it an axis2 bug
?

 

Best Regards.


Infoshare Ltd
Millennium House
21 Eden Street
Kingston upon Thames
Surrey
KT1 1BL
United Kingdom

Phone:          + 44 (0) 20 8541 0111
Support:        + 44 (0) 20 8481 4760
Web:            www.infoshare-is.com
E-mail:         i...@infoshare-is.com

Infoshare Ltd is registered in England and Wales.
Registered Office as above.
Registered Number 2877612
VAT Number GB 678 1443 10

The content of this e-mail (and any attachment to it) is confidential. 
Any views or opinions do not represent the views or opinions 
of Infoshare Ltd.
If you have received this e-mail in error please notify the sender 
and delete it. You may not use, copy or disclose the information 
in any way. 

Infoshare Ltd monitors incoming and outgoing e-mails.

Please consider the environment. Do you really need to print 
this email?

Reply via email to