Webservice in lotusscrupt gives java.lang.NullPointerException

A webservice in lotusscript gives a java.lang.NullPointerException when called by a client. I am not aware of any java coded in the webservice so it must be Domino itself?It did work in Domino703, after the upgrade it first gave errors regarding security (new java security model) but these were gone with an option in the notyes.ini on the server (JAVAUseClassicJVM=1)

Part of code, but it won’t even make it the messagebox

Class ContractUitwisseling

Private NS As NotesSession

Private RelDb As NotesDatabase

Private ContrDb As NotesDatabase

Private ContrView As NotesView

Private RelView As NotesView

Sub New

Set NS = New NotesSession

Set RelDb = NS.GetDatabase(SERVER, RELDBNM)

Set ContrDb = NS.GetDatabase(SERVER, CONTRDBNM)

Set RelView = RelDb.GetView(RELAVIEWNM)

Set ContrView = ContrDb.GetView(CONTRVIEWNM)

End Sub

Public Function OphalenInstellingen(Volledig As Boolean, returnFault As WS_FAULT) As Instellingen

Set OphalenInstellingen = New Instellingen

Msgbox "Ophaleninstellingen: " & Volledig

If Volledig=True Then

	Call OphalenInstellingen.setArrayFromView(RelView)

Elseif Volledig = False Then

	Dim Relalist List As String

	Dim count As Long

	Call getRelaList(count, Relalist)

	Call OphalenInstellingen.setArrayFromList(Relalist, count)

Else

	Call throwFault(returnFault, "Onbekende parameter voor 'volledig'")

End If

End Function

Subject: Need more information.

The snippet you posted is not enough to go on.

Did you add this line…

%INCLUDE “lsxsd.lss”

If that fails, can you try creating a simple web service and see if that works. After that if that works then from your orginal code start disabling sections and testing.

Subject: a simple webservice with the same result

Same result with a very simple webservice. It produces a wsdl, and when i use soapUI it is imported as a project.

same code on a windowsserver gives no problem.

execute the request with the result

soapenv:Fault

     <faultcode>soapenv:Server.generalException</faultcode>

     <faultstring>java.lang.NullPointerException</faultstring>

     <detail/>

  </soapenv:Fault>

Code of the webservice

Options

Option Public

Option Declare

%INCLUDE “lsxsd.lss”

Declarations

Class test

Public Function Func1(Compleets As Boolean) As String

	Func1 = "aabaa"

End Function

End Class

Subject: What is your SOAP message?

I tried the sample you had and using the following SOAP message I got it to work fine. The Boolean accepts a 1 or 0.

<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:urn=“urn:DefaultNamespace”>

soapenv:Header/

soapenv:Body

  <urn:FUNC1>

     <COMPLEETS>1</COMPLEETS>

  </urn:FUNC1>

</soapenv:Body>

</soapenv:Envelope>

Subject: solved (with latest servicepack)

Simon, tried this on another partition where our as400 administrator HAD installed the latest servicepack (as he just told me). Now it works!!

aabaa

On to the next problem: why do i have to use JavaUseClassicJVM=1 or get not authorized exceptions. a java.policy file somwhere on the system? But that is for another thread.

Thank you again.

Subject: Answer to your other question.

Great to hear it’s all working. :slight_smile:

In response to your other question this Technote details the changes.

Title: Changes and updates to Domino 8 for System i
Doc #: 1298075
URL: http://www.ibm.com/support/docview.wss?rs=899&uid=swg21298075

I’m not overly familar with iSeries though. But if the difference between 7 and 8 is the Java version then that could be the reason (Java 1.4.2 → Java 5).

As to why with a LS web service that is a good question.