我正在尝试使用 LS2J 将 java 类(bean)的对象传递给另一个类。
问题是返回错误:
LS2J 错误:抛出 java.lang.ClassNotFoundException:com.pasquier.DTO.WS.LogWSDTO
我不知道为什么?
我有一个通常带有 getter 和 setter 的类 bean。我想在另一个中传递这个类的一个实例。
我在 Lotus LS2J 中的课程:
Class LogWebService
sessionJava As JAVASESSION
classJava As JAVACLASS
objectJava As JAVAOBJECT
methodJava As JAVAMETHOD
Public Sub New()
Set sessionJava = New JAVASESSION
Set classJava = sessionJava.GetClass("com.pasquier.launcher/LogWebService")
Set objectJava = classJava.CreateObject
End Sub
Public Sub setLog(logDTO As LogWSDTO)
Set methodJava = classJava.GetMethod("setLog","(Lcom/pasquier/DTO/WS/LogWSDTO;)V")
objectJava.setLog(logDTO)
End Sub
End Class
崩溃的是方法 setLog
我在代码中调用它:
Class LogGetAllDocumentsDAO
Private ilog As LogWebService
Private logDTO As LogWSDTO
Private docDTO As LogGetAllDocumentsDTO
Public Sub New(logWSparam As LogWSDTO, docDTOparam As LogGetAllDocumentsDTO)
Set Me.logDTO = logWSparam
Set Me.docDTO = docDTOparam
End Sub
Public Sub appelLog()
Set ilog = New LogWebService()
' error: LS2J Error: Threw java.lang.ClassNotFoundException: com.pasquier.DTO.WS.LogWSDTO
Call ilog.setLog(logDTO)
End Sub
一个主意 ?
我在与 LogWebService 相同的库中有一个类 LogDTO。
Class LogWSDTO
sessionJava As JAVASESSION
classJava As JAVACLASS
objectJava As JAVAOBJECT
methodJava As JAVAMETHOD
Public Sub New()
Set sessionJava = New JAVASESSION
Set classJava = sessionJava.GetClass("com.pasquier.DTO.WS/LogWSDTO")
Set objectJava = classJava.CreateObject
End Sub
如果我明白我不能通过 logDTO :
Set Me.logDTO = logWSparam
是那个吗 ?但那我怎么办??
好吧,我尝试了,但它不起作用。
我在 LS2J 中添加了一个 getObjet 方法(不是在 Java 中只在 Lotus 上)
Class LogWSDTO
sessionJava As JAVASESSION
classJava As JAVACLASS
objectJava As JAVAOBJECT
methodJava As JAVAMETHOD
Public Sub New()
Set sessionJava = New JAVASESSION
Set classJava = sessionJava.GetClass("com.pasquier.DTO.WS/LogWSDTO")
Set objectJava = classJava.CreateObject
End Sub
Public Function getJavaObject()
Set getJavaObject = objectJava
End Function
我尝试在我的 prog 中调用它:
Class LogGetAllDocumentsDAO
Private ilog As LogWebService
Private logDTO As LogWSDTO
Private docDTO As LogGetAllDocumentsDTO
Public Sub New(logWSparam As LogWSDTO, docDTOparam As LogGetAllDocumentsDTO)
Set Me.logDTO = logWSparam
Set Me.docDTO = docDTOparam
End Sub
Public Sub appelLog()
Call ajouterParam()
Set ilog = New LogWebService()
Call ilog.setLog(logDTO.getJavaObject())
End Sub
我无法保存此更改:它返回:
"type mismatch on : GETJAVAOBJECT"
所以我尝试在 LogWebService 的 java 类中添加该方法。我在 LS2J 中尝试:
Public Function getJavaObject()
Set methodJava = classJava.GetMethod("getJavaObject","()Lcom/pasquier/DTO/WS/LogWSDTO;")
getJavaObject = objectJava.getJavaObject()
End Function
我打电话给:
Public Sub appelLog()
Set ilog = New LogWebService()
Set logDTO = logDTO.getJavaObject
Call ilog.setLog(logDTO)
它不起作用,同样的消息,我哭了!