I really want to expand LotusScript.doc so it can document web services in Domino 7 written in LotusScript. For all the other design elements (forms, views, agents etc.) I can get the LotusScript source code via DXL but this isn’t possible for web services. The DXL only contains a number of elements containing something that looks like Base64 encoded data (<rawitemdata type=’14’>-elements).
I noticed however that the design element itself has a $FILE item with an attachment called %%webserviceresource%%.jar. Guessing that the JAR-file contained the code I tried detaching it and expanding the JAR-file via LotusScript.
Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim doc As NotesDocument Dim e As Variant Set db = session.CurrentDatabase Set doc = db.GetDocumentByUNID("239E4CB31E6F407FC12570A00049AE3A") Set e = doc.GetAttachment("%%webserviceresource%%.jar") Call e.ExtractFile("d:lekkim.jar") End Sub
But no. The JAR-file only contains a WSDL document a property-file and some binary stuff (see below to a directory listing).
I also tried decoding the Base64 encoded data from the DXL document and I found something that looks like my web service LotusScript code. I removed a header of some sort with some non-ASCII characters from the listing below.
'++LotusScript Development Environment:2:5:(Options):0:74 Option Public Option Explicit '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Public Class Lekkim '++LotusScript Development Environment:2:5:(Declarations):0:10 Public Class Lekkim Public Function GetName(user As String) As String End Function End Class
The above is of cause parsable but it would be easier if I would simply get at the code.
If anyone knows how to get at the LotusScript of a web service without decoding the Base64 data from the DXL please let me know. Thanks.