It may not be necessary to create multiple WSDL files. You can define
multiple ports within a single service, each for http and https referencing
the same
wsdl binding. When you generate stubs for this WSDL via WSDL2Java, you
should get 2 distinct ports, each for http & https.
<service>
<port name="..." binding="....">
<soap:address location="http......."/>
</port>
<port name="..." binding="....">
<soap:address location="https......."/>
</port>
</service>
Not sure if this is the accepted/standard way to tackle this problem. I
don't think the WS-I Basic profile addresses this issue either, other than
saying that an instance may require the use of https. Would love to hear
other folks' opinion about this matter.
- Junaid
Bill Werth
<[EMAIL PROTECTED]
om> To
"'[EMAIL PROTECTED]'"
07/12/2004 01:29 <[EMAIL PROTECTED]>
PM cc
Subject
Please respond to RE: Axis client with https
[EMAIL PROTECTED]
he.org
Thanks. I'll keep that in mind if we go to production code with this.
Although none of the links below seem to explain how to set up using https
without setting the url in the WSDL file. Being somewhat green in how
Tomcat
works, "You can make any Web service available on https based only on
configuration", doesn't explain anything to me at this point.
Looks like I need to read up on how to configure web apps in Tomcat.
-----Original Message-----
From: Michael Binz [mailto:[EMAIL PROTECTED]
Sent: Monday, July 12, 2004 10:07 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: Axis client with https
Bill, Matthias
> Yes, that is what I did. You need to create a new WSDL file that has the
> https endpoint url. I created my WSDL with Java2WSDL, so I only changed
> the
> -l parameter to the new url. Be sure that you use the same server name as
> will be used when you create the SSL certificate which now will be
> required
> on your client PC. I used "https://bwerth2:8443" (with axis, etc. added
of
> course).
You are not *required* to modify the WSDL in order to use https. While
this
certainly works, production grade applications normally read their target
URLs from the configuration and are not using the URL specified in WSDL.
And it would be a bad thing if one had to change the formal interface
description as soon as one of the elements of the target URL changes.
You can make any Web service available on https based only on
configuration:
The required steps to support https for a given WS are:
(1) Configure your web server to support https.
(2) Generate a certificate and use that on server side.
(3) Configure the same certificate to be used on client side.
(4) On jdk1.3 make sure that jsse is installed.
The following links should help:
http://www.ftponline.com/javapro/2003_08/online/webservices_jclune_08_25_03/
http://www.ftponline.com/javapro/2003_09/online/jclune_09_10_03/
http://www.ftponline.com/javapro/2003_09/online/jclune_09_17_03/default.aspx
http://www.informit.com/articles/article.asp?p=24604
Best wishes,
Michael.