Hello:Able to do dynamic invocation with WSSecurity successfully using the
snippet from Sample11.
But have the following question:
1) OutflowConfiguration is deprecated.
Right now I'm able to do dynamic invocation using OperationClient and
OutflowConfiguration for WSSecurity. Is there any other equivalent for
OutflowConfiguration that is recommended.
The code using the OutflowConfiguration looks like below:
-------------------------------------------------
private static Parameter getOutflowConfiguration() {
OutflowConfiguration ofc = new OutflowConfiguration();
ofc.setActionItems("UsernameToken");
ofc.setUser("bob");
ofc.setPasswordCallbackClass("samples.quickstart.clients.PWCBHandler");
ofc.setPasswordType("PasswordText");
return ofc.getProperty();
}
-------------------------------------------------
Any pointers will be very useful.
Thanks,
cabear
On Thu, Jan 29, 2009 at 12:01 PM, Wishing Carebear <
[email protected]> wrote:
> Hello:I have the sample code:
> ----------------------------------------------------------------------
> // creating the SOAPEnvelope from a XML file
> FileReader soapFileReader = new
> FileReader("C:\\RaviWS\\axis2ws\\XML\\WSS_SAMPLE_03.xml");
> XMLStreamReader parser =
>
> XMLInputFactory.newInstance().createXMLStreamReader(soapFileReader);
> StAXSOAPModelBuilder builder = new StAXSOAPModelBuilder(parser,
> null);
> SOAPEnvelope envelope = (SOAPEnvelope)
> builder.getDocumentElement();
>
>
>
> System.out.println(" input SOAPMessage is \n " + envelope );
>
> //Blocking invocation
> ServiceClient client = new ServiceClient();
> OperationClient opClient =
> client.createClient(ServiceClient.ANON_OUT_IN_OP);
>
> // creating outMsgContext
> MessageContext outMsgCxt = new MessageContext();
>
> // creating Options and setting it to the MessageContext
> Options options = outMsgCxt.getOptions();
> options.setTo(targetEPR);
> options.setAction("urn:echo");
>
> // creating the username token
> options.setProperty(WSHandlerConstants.USER, "bob");
> options.setProperty(WSHandlerConstants.PASSWORD_TYPE,
> WSConstants.PASSWORD_TEXT);
>
>
> options.setProperty(WSHandlerConstants.USERNAME_TOKEN,UserNameToken.getWSUNameToken());
> options.setProperty(WSHandlerConstants.MUST_UNDERSTAND,"true");
>
>
> //adding the envelope to the outMsgCxt
> outMsgCxt.setEnvelope(envelope);
>
> // adding the MsgContext to the opClient
> opClient.addMessageContext(outMsgCxt);
>
>
> ---------------------------------------------------------------------------------------------
> When I call execute on opClient and monitor the message, could see that the
> security headers are not added.
>
> Could you please give me pointers on how I should proceed further. I have
> to do everything dynamic.
>
> May be I need to engage the rampart modules etc.
>
> Any help is greatly appreciated.
>
> Thanks,
> cabear
>
> On Wed, Jan 28, 2009 at 2:21 PM, Wishing Carebear <
> [email protected]> wrote:
>
>> Thanks Sameera.I have downloaded the rampart and understanding the
>> samples. Interestingly in the basic one, there is a mention of
>> DynamicConfiguration as item 11 but do not see any relevant examples.
>>
>> Anyway will try out to have a better understand and get back to you if I
>> have more questions.
>>
>> Best regards,
>> cabear
>>
>>
>> On Wed, Jan 28, 2009 at 11:31 AM, Sameera Jayasoma <
>> [email protected]> wrote:
>>
>>>
>>>
>>> On Tue, Jan 27, 2009 at 1:55 AM, Wishing Carebear <
>>> [email protected]> wrote:
>>>
>>>> Sameera:
>>>> Looked into 240 link. It had the following information for client
>>>> configurations:
>>>> This configuration parameter should be included in the client's
>>>> axis2.xml file and in sample-02 the file is
>>>> "rampart-ut-samples/sample02/client.axis2.xml".
>>>>
>>>> My requirement is to do the WS-Security programmatically. Is it possible
>>>> using rampart and axis2.
>>>
>>>
>>> Yes, this should be possible. If you are using WS-SecurityPolicy to
>>> indicate the security actions, anyway you need to specify that policy.xml
>>> file. Please have a look at the Apache Rampart site for more details..
>>>
>>> Following shows, how you should secure SOAP message using Rampart with
>>> WS-SecurityPolicy. Rampart policy sample02
>>>
>>> public static void main(String[] args) throws Exception {
>>>
>>> if(args.length != 3) {
>>> System.out.println("Usage: $java Client endpoint_address
>>> client_repo_path policy_xml_path");
>>> }
>>>
>>> ConfigurationContext ctx =
>>> ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1],
>>> null);
>>>
>>> ServiceClient client = new ServiceClient(ctx, null);
>>> Options options = new Options();
>>> options.setAction("urn:echo");
>>> options.setTo(new EndpointReference(args[0]));
>>> options.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
>>> loadPolicy(args[2]));
>>> client.setOptions(options);
>>>
>>> client.engageModule("addressing");
>>> client.engageModule("rampart");
>>>
>>> OMElement response = client.sendReceive(getPayload("Hello
>>> world"));
>>>
>>> System.out.println(response);
>>>
>>> }
>>>
>>>
>>>
>>>
>>>
>>>>
>>>> Thanks for your time and help,
>>>> cbear
>>>>
>>>> On Sun, Jan 25, 2009 at 6:32 AM, Sameera Jayasoma <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> You can achieve WS-Security with Apache Axis2 by using Rampart. Rampart
>>>>> is an Axis2 module. For more information please refer following articles.
>>>>>
>>>>> http://wso2.org/library/3190
>>>>> http://wso2.org/library/240
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Jan 24, 2009 at 8:15 AM, Wishing Carebear <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hello:
>>>>>> I'm using the Cleint API's (ServiceClient and OperationClient) to
>>>>>> consume webservices. I have been successful so far writing dynamic
>>>>>> clients (
>>>>>> without using wsdl2java).
>>>>>>
>>>>>> Now want to integrate WSSecurity feature with the dynamic clients.
>>>>>>
>>>>>> Would like to know if there are any examples how to do WS_Security
>>>>>> with Axis2.
>>>>>>
>>>>>> Thanks for your time and help
>>>>>> cabear
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sameera Jayasoma
>>>>> Software Engineer
>>>>> WSO2 Inc.
>>>>> Oxygenating the Web Service Platform.
>>>>> http://wso2.org/
>>>>>
>>>>> blog: http://tech.jayasoma.org
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Sameera Jayasoma
>>> Software Engineer
>>> WSO2 Inc.
>>> Oxygenating the Web Service Platform.
>>> http://wso2.org/
>>>
>>> blog: http://tech.jayasoma.org
>>>
>>
>>
>