On Wed, Jun 13, 2012 at 12:23 PM, <runo.barrd...@tieto.com> wrote:

> I experience a problem with a Web Service java client written using Axis2
> (1.6.2).****
>
> ** **
>
> The client generates a SOAP message that is valid (and, by using soapUI,
> has been verified to result in a valid web service request).****
>
> Nevertheless the client throws an exception saying “No user value in
> rampart configuration policy”.****
>
> ** **
>
> I have tried “all possible variations (including a) using a client
> policy.xml that is loaded – makes no difference at all,  b)  instantiating
> a Rampartconfig and a Policy object  - results in doubled usernameToken
> entries in SOAP message), and a lot of other ways as well, all without
> success sofar. I have even run the client in Eclipse in debug mode using
> source code of wsse4j-1.6.2 and rampart-1.6.2, and only find that somewhere
> inside there, the exception is thrown and the message key “userMissing” is
> set.****
>
> ** **
>
> If you know how to overcome this error of an axis2 client, please let me
> know.****
>
> ** **
>
> ** **
>
> **1.     **The policy section of the wsdl is as follows:****
>
> “****
>
>      <wsp:Policy wsu:Id="CustomerCreation_policy">****
>
>            <wsp:ExactlyOne>****
>
>                 <wsp:All>****
>
>                      <sp:SupportingTokens xmlns:sp="
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"; >****
>
>                            <wsp:Policy>****
>
>                                 <sp:UsernameToken sp:IncludeToken="
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient";
> />****
>
>                            </wsp:Policy>****
>
>                      </sp:SupportingTokens>****
>
>                      <wsaw:UsingAddressing/>****
>
>                 </wsp:All>****
>
>            </wsp:ExactlyOne>****
>
>      </wsp:Policy>****
>
> “****
>
> ** **
>
> **2.     **The client axis2.xml has the following entry for UsernameToken*
> ***
>
> “****
>
>      <module ref="addressing"/>****
>
>      <module ref="metadataExchange" />****
>
> ** **
>
>      <module ref="rampart"/>****
>
> ** **
>
>      <parameter name="OutflowSecurity">****
>
>            <action>****
>
>                 <items>UsernameToken Timestamp</items>****
>
>            <passwordType>PasswordText</passwordType>****
>
>            </action>****
>
>      </parameter>****
>
> “****
>
> ** **
>
> **3.     **The Java client code contains the following entries having
> bearing on UsernameToken:****
>
> “****
>
> configurationContext =
> ConfigurationContextFactory.createConfigurationContextFromFileSystem(realPath
> + realPathPostFix + "WEB-INF", realPath + realPathPostFix +
> "WEB-INF\\conf\\axis2.xml");****
>
> ** **
>
> customerCreationServiceStub     = new
> CustomerCreationServiceStub(configurationContext);****
>
> serviceClient                   =
> customerCreationServiceStub._getServiceClient();****
>
> options                              = serviceClient.getOptions();****
>
> ** **
>
> serviceClient.getAxisConfiguration().engageGlobalModules();****
>
> ** **
>
> serviceClient.engageModule("addressing-1.6.2");****
>
> serviceClient.engageModule("rampart-1.6.2");****
>
> serviceClient.engageModule("metadataExchange-1.6.2");
>

One question on engaging modules on the client side. Does the above work?
Normally, we engage modules by calling
serviceClient.engageModule("rampart"). We give only the module name. But I
haven't come across a way by giving the version number also with the name.

And for the issue you reported, there is already one related thread [1]
been discussed. You can find some information from there as-well.

Thanks,
Kishanthan.
[1]
http://markmail.org/search/?q=FW%3A%20No%20user%20value%20in%20rampart%20configuration%20policy#query:FW%3A%20No%20user%20value%20in%20rampart%20configuration%20policy+page:1+mid:xujtpvk24st3lxbz+state:results

> ****
>
> ** **
>
> // Addressing:****
>
> options.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
> AddressingConstants.Final.WSA_NAMESPACE);****
>
> options.setProperty(AddressingConstants.INCLUDE_OPTIONAL_HEADERS,
> Boolean.TRUE);     // 2009-05-07, RunoB: Nödvändig för att få med ReplyTo!
> ****
>
> ** **
>
> options.setAction("
> http://localhost:9080/marginalenaxis2/services/CustomerCreationService";);*
> ***
>
> options.setMessageId(new UUID().toString());    //2012-04-25, RunoB: new**
> **
>
> EndpointReference endpointReferenceReplyTo = new EndpointReference("
> http://www.w3.org/2005/08/addressing/anonymous";);****
>
> options.setReplyTo(endpointReferenceReplyTo);****
>
> EndpointReference endpointReferenceTo = new EndpointReference();****
>
> endpointReferenceTo  = new EndpointReference("http://localhost:"; + port +
> "/marginalenaxis2/services/CustomerCreationService");****
>
> options.setTo(endpointReferenceTo);****
>
> ** **
>
> // UsernameToken:****
>
> options.setProperty(RampartMessageData.KEY_CUSTOM_ISSUED_TOKEN, true);****
>
> ** **
>
> options.setProperty(WSHandlerConstants.USER, "aaaaa");****
>
> options.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,
> "com.tieto.ws.axis2.callback.UsernameTokenCallbackManager");****
>
> ** **
>
> serviceClient.setOptions(options);****
>
> customerCreationServiceStub._setServiceClient(serviceClient);****
>
> “****
>
> ** **
>
> ** **
>
> Best Regards,****
>
> ** **
>
> Runo Barrdahl****
>
> ** **
>
> ** **
>
> Med vänlig hälsning, / Best Regards,****
>
> ** **
>
> Runo Barrdahl, civ ing, tekn lic****
>
> ** **
>
> Tieto Sweden AB, Financial Services****
>
> mail: runo.barrd...@tieto.com****
>
> tel (direct): 0709-790 407 / +46-709 790 407****
>
> tel (central): 010 481 00 00 / +46-10 481 00 00****
>
> fax: 08-86 30 56 / +46-8 86 30 56****
>
> web: www.tieto.com****
>
> ** **
>

Reply via email to