尝试在Lotus Domino Designer(8.5.3)上创建Web服务使用者时出现奇怪错误



我遇到了一个问题,无论我怎么努力搜索都找不到答案。我正试图在Lotus Domino Designer上创建一个WS消费者。版本为8.5.3。

我已经尝试过三种不同的WS,结果总是一样的。这是:

WebServiceEngineFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultSubcode:  faultString: Error connecting to 'www.webservicex.net' on port '80', You must enable the Notes TCPIP port. faultActor:  faultNode:  faultDetail:   Error connecting to 'www.webservicex.net' on port '80', You must enable the Notes TCPIP port.
at lotus.domino.axis.InternalFault.makeFault(Unknown Source)
at lotus.domino.axis.transport.http.HTTPSender.invoke(Unknown Source)
at lotus.domino.axis.strategies.InvocationStrategy.visit(Unknown Source)
at lotus.domino.axis.SimpleChain.doVisiting(Unknown Source)
at lotus.domino.axis.SimpleChain.invoke(Unknown Source)
at lotus.domino.axis.client.AxisClient.invoke(Unknown Source)
at lotus.domino.axis.client.Call.invokeEngine(Unknown Source)
at lotus.domino.axis.client.Call.invoke(Unknown Source)
at lotus.domino.axis.client.Call.invoke(Unknown Source)
at lotus.domino.axis.client.Call.invoke(Unknown Source)
at lotus.domino.axis.client.Call.invoke(Unknown Source)
at lotus.domino.websvc.client.Call.invoke(Unknown Source)
at NET.webserviceX.www.AngleUnitSoapStub.changeAngleUnit(AngleUnitSoapStub.java:11)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source) Caused by: Error connecting to 'www.webservicex.net' on port '80', You must enable the Notes TCPIP port.
at lotus.domino.axis.transport.http.NotesSocket.openConnection(Native Method)
at lotus.domino.axis.transport.http.NotesSocket.<init>(Unknown Source)
at lotus.domino.axis.transport.http.HTTPSender.getSocket(Unknown Source)
... 15 more

我所做的是将wsdl从一个非常简单的web服务(web service X)www.webservicex.net导入到web服务消费者,只是为了进行测试。我将它导入到我的Java代理中,并尝试调用一个方法。代理代码看起来是这样的,我想它再简单不过了:

import lotus.domino.*;
import NET.webserviceX.www.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
AngleUnitSoap stub;
double retVal;
System.out.println("Start");
AngleUnitLocator locator = new AngleUnitLocator();
stub = locator.getAngleUnitSoap();
retVal = stub.changeAngleUnit(180,Angles.degrees, Angles.radians);
System.out.println("end");
} catch(Exception e) {
e.printStackTrace();
}
}
}

我又试了几个ws,结果是一样的。我声明我不能理解TCPIP错误。该端口在LotusDominoDesigner的preferences部分打开。同样,为了测试起见,我编写了一个小型java代理,它只检索网页的html,并且成功地完成了。除非我被欺骗了,否则我想这意味着沟通还可以。我真的不知道我做错了什么。我可能遗漏了一些显而易见的东西。事先非常感谢你的帮助。我试着尽可能缩小我的问题范围,但可以随意询问更多信息,我非常感谢你在这个上的帮助

致以最诚挚的问候,Carlos

根据源代码中提到的角度单位,我相信您尝试使用的Web服务是Convert Angle示例。

查看WSDL文件,在最上面可以看到以下内容:

xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 

这意味着web服务正在使用SOAP1.2。Domino只支持SOAP1.1,如信息中心所述。

如果你想创建自己的,有一个关于Appdev wiki的教程。

相关内容

最新更新