Java code is called from Basic with this subrutine.
Code: Select all
Sub CallJava()
Dim mspf As Object, provider As Object, script As Object
mspf = createUnoService("com.sun.star.script.provider.MasterScriptProviderFactory")
provider = mspf.createScriptProvider("")
script = provider.getScript("vnd.sun.star.script:SWILODB.pl.ms.oknadrewniane.libreoffice.database.DoorHingeSheetData.getDoorData?language=Java&location=user")
xray script.invoke(Array(Array("Julian", 2)), Array(), Array())
script = provider.getScript("vnd.sun.star.script:SWILODB.pl.ms.oknadrewniane.libreoffice.database.DoorHingeSheetData.getDoorData?language=Java&location=user")
xray script.invoke(Array(Array("192.168.56.101", "T25_0625")), Array(), Array())
End Sub
Type: com.sun.star.script.provider.ScriptFrameworkErrorException
Message: java.lang.NoSuchMethodException: StrictResolver.getProxy: Can't find method: getDoorData.
My parcel-descriptor for this code looks like this:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<parcel language="Java" xmlns:parcel="scripting.dtd">
<script language="Java">
<locale lang="en">
<displayname value="Get Door Data"/>
<description>
Downloads data for doors in a given queue
</description>
</locale>
<locale lang="pl">
<displayname value="Get Door Data"/>
<description>
Pobiera dane drzwi w podanej kolejce
</description>
</locale>
<functionname value="pl.ms.oknadrewniane.libreoffice.database.DoorHingeSheetData.getDoorData"/>
<logicalname value="getDoorData"/>
<languagedepprops>
<prop name="classpath" value="SWILODB.jar"/>
</languagedepprops>
</script>
</parcel>