Sande Gilda commented on Feature Request JDF-480

More information from Gary:

Hi Sande,

Here are answers to your earlier questions:

1) You mentioned Fuse. Does this quickstart require Fuse? If so, you need to contribute it to the Fuse team. The quickstarts are now separated into separate repositories by product.

Yes, I am working with someone on the Fuse Team on this. The Fuse issue is perhaps a little worse, so the EAP Team shouldn't feel that bad
The Security reference points you to non-existent references in the community.

2) If not, does this work on both AS 7.1 and EAP 6.1?

My idea is that this should all be self-dependent in the helloworld-ws-secure example. I was in a hurry to get this to work and my primary objective was to show Fuse Web Service Proxy with security. When I started to run into issues with the amount of code needed to get this working and the lack of similar examples, I thought it was best to throw this out there. I would like this to all work with EAP 6.1 Maven repos without any outside, unsupported community repos.

I needed to bring this repo in (http://repository.jboss.org/nexus/content/groups/public/) in addition to the downloaded EAP 6.1 repo.

3) Could you provide an overview of the things you had to change from the original to get it to work?

A) Bring in the community repo mentioned in #2 into the settings.xml

B) 1 additional dependency needs to be added to the pom.xml:

<dependency>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-client</artifactId>
<version>4.1.3.Final</version>
<!-<version>4.0.4.GA-redhat-1</version>->
<scope>provided</scope>
</dependency>

C) I renamed the Client class to ClientWS, so that I could bring in org.apache.cxf.endpoint.Client. I could have used fully qualified class names, but I was in a hurry.

D) The ClientWS class was modified to accept all server certs:

Client client = ClientProxy.getClient(helloWorldService);
HTTPConduit conduit = (HTTPConduit)client.getConduit();

TLSClientParameters tcp = new TLSClientParameters();
tcp.setTrustManagers( new TrustManager[]

{ new TrustAllX509TrustManager() }

);
conduit.setTlsClientParameters( tcp );
AuthorizationPolicy auth = conduit.getAuthorization();
if ( null == auth )

{ auth = new AuthorizationPolicy(); }

auth.setUserName( "local" );
auth.setPassword( "local" );
E) added TrustAllX509TrustManager as an inner class

F) Changed ClientTest.java to use a local wsdl and the pom.xml has a reference to the Fuse proxy location that needs to be replaced. This 2 steps should be changed for the real quickstart

TBD, add ability to use client authentication as well as server only authentication.

Regards,
Gary

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira