users@jax-rpc.java.net

Re: Java application trying to connect to remote web service via SSL

From: Harvinder Singh <harvinder_at_SEECONSULTING.COM>
Date: Wed, 30 Oct 2002 14:39:19 +0530

Hi,

If you follow the instructions given in Tutorial (Security for JAX-RPC )
..step by step it will work..

You need to give the path of the certificate through Tomact Admin
interface.

It worked for me..should work for you also..

Regards

Harvinder

Kwan Hon Luen wrote:

> Hi all, I have a problem here:A java client application (not a
> servlet, just pure console) trying to connect to remote web service
> via SSL. I can just this java console client to connect via non-SSL
> port. What modification do I have to make to both the web service and
> the client, in order to connect via SSL? I have checked out the Sun
> web service tutorial, but not relevant, since I am using a java
> console client here, and not a servlet. Can someone help? ~honluen
> -----------------------------------------------------------------------
> On the web service machine, This is the config.xml which I use xrpcc
> to build the web service. <?xml version="1.0" encoding="UTF-8"?>
> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
> <service name="HelloService"
> targetNamespace="http://192.168.168.88/HelloService.wsdl"
> typeNamespace="http://192.168.168.88/HelloService/HelloService/type"
> packageName="hello"> <interface
> name="hello.HelloIF"
> servantName="hello.HelloImpl"/>
> </service>
> </configuration> This is the web.xml which I use to deploy the web
> service on tomcat server. <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app>
> <display-name>Hello World Application</display-name>
> <description>A Java application containing a simple JAX-RPC
> endpoint</description>
> <session-config>
> <session-timeout>60</session-timeout>
> </session-config> <security-constraint>
> <web-resource-collection>
> <web-resource-name>helloservice</web-resource-name>
> <url-pattern>/endpoint*</url-pattern>
> <http-method>GET</http-method>
> <http-method>POST</http-method>
> </web-resource-collection>
> <auth-constraint>
> <role-name>manager</role-name>
> </auth-constraint>
> </security-constraint>
> <login-config>
> <auth-method>BASIC</auth-method>
> </login-config> <servlet>
> <servlet-name>JAXRPCEndpoint</servlet-name>
> <display-name>JAXRPCEndpoint</display-name>
> <description>Endpoint for Hello Service</description>
>
> <servlet-class>com.sun.xml.rpc.server.http.JAXRPCServlet</servlet-class>
>
> <init-param>
> <param-name>configuration.file</param-name>
>
> <param-value>/WEB-INF/HelloService_Config.properties</param-value>
> </init-param>
> <load-on-startup>0</load-on-startup>
> </servlet> <servlet-mapping>
> <servlet-name>JAXRPCEndpoint</servlet-name>
> <url-pattern>/endpoint/*</url-pattern>
> </servlet-mapping> <session-config>
> <session-timeout>60</session-timeout>
> </session-config>
> </web-app>
> -----------------------------------------------------------------------
> On the client machine, This is the config.xml which i use xrpcc to
> generate the client stubs. Is there any wrong here? since I should be
> accessing via https://192.168.168.88:443/helloservice/endpoint?WSDL,
> but that gives me errors. <?xml version="1.0" encoding="UTF-8"?>
> <configuration
> xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
> <wsdl
> location="http://192.168.168.88:8080/helloservice/endpoint?WSDL"
> packageName="hello"/>
> </configuration>This is the client code, which I suspect is not very
> correct. package hello; import javax.xml.rpc.Stub; public class
> HelloClient {
> public static void main(String[] args) { String trustStore
> = "f:/SSL/client.keystore";
> String trustStorePassword = "12345678";
> String username = "honluen";
> String password = "12345678";
>
> try {
> HelloIF_Stub stub = (HelloIF_Stub)(new
> HelloService_Impl().getHelloIFPort());
> System.setProperty("javax.net.ssl.trustStore",
> trustStore);
> System.setProperty("javax.net.ssl.trustStorePassword",
> trustStorePassword);
> stub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,
> username);
> stub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,
> password);
>
> HelloIF_Stub hello = (HelloIF_Stub)stub;
> System.out.println(hello.sayHello("DSSS!"));
> } catch (Exception ex) {
> ex.printStackTrace();
> }
> }}
> -----------------------------------------------------------------------
>
--
Dr. Harvinder Singh
CTO
SeE Consulting {P} Ltd.
http://www.seeconsulting.com
Ph.No: 91-11-6163260
Hp:(91) 9810381470