03/11/2007

chef Wild Bill serves Web Services in Lotusphere 2008

I met Bill during the ILUG 2007 event: he's funny, cute and a real Notes/Domino guru.

I'm the man in the middle, Bill is the one with the green t-shirt.
From ILUG2007 in D...


I've just read Bill's post about his sessions at Lotusphere 2008:
  • Worst Practices: The Best of the Worst (with Paul Mooney)
    Nice and useful hints & tips to better your programming skills
  • Web Services Bootcamp:
    I don't love the Army, but this time I would make an exception to follow his presentation

I wish I could attend the Lotusphere 2008 event in Orlando, but it is more expensive than ILUG 2007, I guess... ;-) An no tasty Guinness beer over there in USA.

I would especially attend his session titled "Web Services Bootcamp".
Why?
I'm trying to consume a remote third-party Web Services over HTTP/SSL, simply using a Java agent in R8 Notes client
(I also tried with LS, read on...)

I tried several techniques / programming languages:

1) importing a WSDL file into a LS library: it causes a "Name too long" msg error (max 40 chars). Sometime LS seems not appropriate for some works...

2) importing a WSDL file into a Java library: it's ok, but when my agent try to connect to the remote service I get another error:
"nested exception is:
Error connecting to 'www.jajah.com' on port '443', SSL invalid certificate, may need to cross-certify." !
I also tried to import the remote certificate into the cacerts file using keytool, putting some code before the call to explicity choose the keystore where I imported the certificate... still no luck!

After some posts to ask for help:
R8 forum post
Web Service Provider (jajah, voip service)
I downloaded MS Visual Basic 2005 Express edition and could connect to the very same web service in just 30 minutes (e.g. make some phone calls, send SMS msg)

Wow, what a wonderful easy IDE in VB, what a nice way to import WSDL files and take advantage of true auto-complete editor, even on Web Services (add any web reference to the project, importing WSDL files). I'm sorry, but this time "The Grass Is REALLY Greener on the Other Side of the Fence".
I'm simply a programmer, I'm not a martyr, life could be easier for me and others Notes/Domino programmers if things were easier ;-)

I know I know, I could read some 500 pages Java book on cryptography classes, but I have already spent hours looking into forum posts and support sites. I'm fed-up.

I'm not giving up with https/SSL web services in Notes/Domino R8, and I don't want to take advantage of CreateObject() LS function to use the MS Soap Toolkit (too easy but not multi OS), I simply want to consume Web Services (HTTP/SSL) using standard R8 features, Java or LS doesn't matter, but easily...

It's a point of principle: I must succeed with out-of-box tools in Notes Designer ;-)

Bill, would you also speak about consuming R8 Web Services over http/ssl ?
If so, please send me your presentation, it could help me... ;-)


4 comments:

wild bill said...

Yup - talking about consuming as well as serving.

Two different approaches. Try project 'stubby' from openNtf.

Or if its windows only stuff - the Microsoft SOAP DLL (pretty horrible, but very simple).

Check out the web service presentations on my presentations pages for examples of COM.


Goooood luck!


And - lotusphere isnt expensive. Where else do you get 6 days, 18 hours a day training on Notes for under $2k.. ? ;)

---* Bill

Piter said...

As i write in some "post" ago, my opinion is Microsoft SOAP DLL approach. It's very simply way to consume a w.s using Lotusscript.
I tried to consume a w.s. also through Borland Delphi Studio 6 , it works fine and easy to use.
Java tecnology offer a way (not easy) with Netbeans 5.x.x or Eclipse.
In Notes 8 i've problems consuming w.s. (like Cristian).
I think Notes/Domino 7/8 is very easy way to write and publish web services. I hope Lotus will do something to make consuming easy like the w.s. implemention...So i can use the same platform to developing my applications.

Bye
Piter

Christian Gravgaard said...

Hi there

I've had a hard time with this one to - on the Lotus Domino 8 server though.

Exactly the same error. But I found it!

Some webservices uses wierd SSL certificates. Eg. E-conomic.com uses "Thawte".

The Root cert from the remote web services needs to be in the Lotus Domino's keyring file. Not the one you specify in your webserver - but keyfile.kyr in the data library.

As soon you've set up SSL on your domino (a selfcert works fine) and appended the root cert(s) from the remote webservice - it works fine.

Try it out :-)
Questions? Just write me.

Best regards

Christian Gravgaard,
At Axis ApS

e-mail: cg@ataxis.dk

Cristian D'Aloisio said...

Thanks for your feedback Christian:
link