Hi;

Following will be helpful.

Load the policy :

StAXOMBuilder builder = new StAXOMBuilder("policy.xml");
Policy policy = PolicyEngine.getPolicy(builder.getDocumentElement());

Get the Options from the Stub :

ServiceClient client = stub._getServiceClient();
Options option = client.getOptions();

Set the policy :

options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);

Thanks & regards.
-Prabath

stefangee...@hotmail.com wrote:
Hi,

thanks for the reply.

I'll create a JIRA on this.

Question: How can I attach the policy file to the client ? Any documentation/examples
Regards,

S.

Prabath Siriwardena-2 wrote:
Please create a JIRA on the issue.

Alternatively you can attach the policy file to the client to get the expected results.

Thanks & regards.
-Prabath

SGE0 wrote:
Hi,
we have following services.xml file (part):

<service name="Upload" scope="application">
     ...

        <module ref="rampart" />
<wsp:Policy wsu:Id="UsernameToken" xmlns:wsu=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:SupportingTokens
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702";>
        <wsp:Policy>
          <sp:UsernameToken sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient";> <wsp:Policy>
              <sp:HashPassword/>
            </wsp:Policy>
</sp:UsernameToken>
        </wsp:Policy>
      </sp:SupportingTokens>

      <ramp:RampartConfig
xmlns:ramp="http://ws.apache.org/rampart/policy";>
<ramp:passwordCallbackClass>...security.PWCBHandler</ramp:passwordCallbackClass>
      </ramp:RampartConfig>

    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
</service>


When we generate the client stub with Java2WSDL we see that the <wsp:Policy>
              <sp:HashPassword/>
            </wsp:Policy>
is not correctly generated.
When we look at the populateAxisService method in the generated stub we
see:

  private void populateAxisService() throws org.apache.axis2.AxisFault {

...
(__operation).getMessage(org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_OUT_VALUE).getPolicySubject().attachPolicy(getPolicy("<wsp:Policy
xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\";><wsp:ExactlyOne><wsp:All><sp:SupportingTokens
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\";><wsp:Policy><sp:UsernameToken
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\";
sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\";
/></wsp:Policy></sp:SupportingTokens><sp:SupportingTokens
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\";><wsp:Policy><sp:UsernameToken
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\";
sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\";
/></wsp:Policy></sp:SupportingTokens></wsp:All></wsp:ExactlyOne></wsp:Policy>"));
... }


The result is that we can send over a plain text userid/pwd but not a
hashed
password.

Anyone experiencing the same problem ?

S.

Quoted from: http://old.nabble.com/Axis2-Java-1.5.1-and-Rampart-tp26269867p26283140.html



Reply via email to