Recently, I was working on an agent that used a web service to export data. Now, I don’t know if you noticed, but for some reason, consuming services is way easier in LotusScript than it is in Java. As far as I know, and I could be wrong, you need to import Axis in Java to do anything with a Web service consumer.

In LotusScript, consuming web services is plain easy. You just import the WSDL, which can be located either on your file system or directly on the web and you are good to go.

Sounds too good to be true? It is. There are couple of limitations, that will make you swear like a gypsy on a bad day.

  1. Variables and function names must not be longer than 46 characters.
  2. There is no way in hell your code will know how to process an array, that was passed as a result.

Don’t get me wrong. This is most certainly not a problem when Web service itself is pretty simple. However, it becomes an annoyance when you start using complex 3rd party Web services.

How to get around those?

For 3rd party services, I guess it depends from case to case. For one web service, we actually had to come up with adapter web service written in C#, that would translate interfaces needed to something that could be used in LotusScript. I guess we could have used Java, but that caused some memory leaks.

If you are doing your own service, just make sure, that you don’t return any arrays and that your variables are according to the consensus of LotusScript and youa re good to go.