[英]Java Web Service Consumer > No client transport named 'null' found
我们正在尝试使用Java在Lotus Notes中开发Web服务使用者。 我们已经根据wsdl文件使用了从Lotus Designer自动生成的源代码。
从本地计算机使用方中生成的存根中的调用方法运行正常。 但是在将代理设置为在Domino服务器上运行之后,此异常在日志文件中尖叫:
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: No client transport named 'null' found!
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.AxisClient.invoke(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.Call.invokeEngine(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.Call.invoke(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.Call.invoke(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.Call.invoke(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.axis.client.Call.invoke(Unknown Source)
02.06.2014 17:32:25 AMgr: Agent ('AttachmentDownloadServer' in 'test/AttachmentsDownload2.nsf') error message: at lotus.domino.websvc.client.Call.invoke(Unknown Source)
我们已经尝试将库websvc.jar附加到Java库中(由于以下错误,我们无法将其附加到webservice使用者:“无法保存脚本库。对生成的源代码所做的更改将防止其正常运行”)。 但这并没有帮助我们。
我们为9.0.1FP1 Designer中的8.5.3FP6 Domino服务器开发了它。 我们也尝试在9.0.1 Domino Server上运行此命令,但是存在相同的错误。
有人看到过这个错误吗? 有什么办法吗?
更多详情:
我正在使用Designer生成的源代码,其中使用了lotus.domino.websvc.client.*
类。
我认为Domino服务器可以访问该类。 错误是在以下位置调用invoke方法时创建的
lotus.domino.websvc.client.Call _call = createCall("xxx");
java.lang.Object _resp = _call.invoke(new java.lang.Object[] {pInputXml});
因此,该请求不会发送到Web服务提供商。
我认为代理程序的运行时安全级别存在问题。 将其设置为“允许受限操作”。 错误列表有点令人困惑。
因此,看看您如何调用它似乎是在编写自己的XML? 该XML是SOAP消息吗? 您可以张贴样品吗?
是否有原因不使用默认方法。
例如,在导入您的WSDL之后,我改用以下代码:
import lotus.domino.*;
import cz.env.dms.T_WS.T_WS_wsdl.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
// Refer to cz.env.dms.T_WS.T_WS_wsdl.MZP_WS_TESTPortType.java for service interface methods:
MZP_WS_TESTPortType stub = new MZP_WS_TESTLocator().getMZP_WS_TESTPort();
// Setting endpoint to test mockservice in SoapUI.
//stub.setEndpoint("http://localhost:8088/mockservice");
stub.setEndpoint("http://dms.env.cz/T-WS/T-WS");
String answer = stub.getMyVersion();
System.out.println(answer);
} catch(Exception e) {
e.printStackTrace();
}
}
}
我为该呼叫添加了目标端点 ,它对我有用:
call.setTargetEndpointAddress(TARGET_ENDPOINT);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.