Hi Phil,
      In your axis2.xml, do you have any security policies ? Or did you
attach a security
policy to the client by any means  ? As I see you are using a code generated
stub. If the
WSDL had any security policies they will be automatically attached to the
stub. You can
check this for sure if you check the populateAxisService() method of the
generated stub.
When security policies are present in the policy based handlers are
triggered as they have
precedence over the rampart basic configuration.
     On a side note, I think it is better to use the policy based
configuration approach in the
client side too rather than using the deprecated old configuration . If the
WSDL has the security
policies published this becomes very easy. Please look at the tutorials,

http://wso2.org/library/3190
https://wso2.org/library/3415

thanks,
nandana


On Thu, Feb 5, 2009 at 3:58 AM, Philippe Camus <philippe.ca...@gmail.com>wrote:

> Hi all,
>
> I am trying to invoke a web service with a basic policy applied to it
> (basic
> sample 02 in Rampart 1.4). I am using Axis2 1.4.1 and Rampart 1.4. Here is
> part of my client code:
>
> ConfigurationContext ctx =
>
> ConfigurationContextFactory.createConfigurationContextFromFileSystem("repository",
> "repository/conf/client.axis2.xml");
> MyServiceProxyStub service = new MyServiceProxyStub(ctx);
>
> My client.axis2.xml contains:
>
> <module ref="rampart" />
>
>    <parameter name="OutflowSecurity">
>      <action>
>        <items>UsernameToken Timestamp</items>
>        <user>john</user>
>
> <passwordCallbackClass>org.example.PWCBHandler</passwordCallbackClass>
>      </action>
>    </parameter>
>
> When trying to invoke the service, I get the following error in the client:
>
> org.apache.axis2.AxisFault: No user value in the rampart configuration
> policy
>    at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>    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.send(AxisEngine.java:429)
>    at
>
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)
>    at
>
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
>    at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>    at
>
> org.wso2.wsas.example.GameServiceProxyStub.startGame(GameServiceProxyStub.java:759)
>    at org.wso2.wsas.example.GameClient.main(GameClient.java:46)
> Caused by: org.apache.rampart.RampartException: No user value in the
> rampart
> configuration policy
>    at
>
> org.apache.rampart.builder.BindingBuilder.addUsernameToken(BindingBuilder.java:198)
>    at
>
> org.apache.rampart.builder.TransportBindingBuilder.build(TransportBindingBuilder.java:100)
>    at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:140)
>    at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>    ... 8 more
>
> I am really confused on how to figure this out... thanks in advance for any
> pointer!
>
> Best regards,
>
> Phil
>



-- 
Nandana Mihindukulasooriya
WSO2 inc.

http://nandana83.blogspot.com/
http://www.wso2.org

Reply via email to