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

时间:2014-02-18 13:31:40

标签: java web-services lotus-notes

我遇到了一个无法找到答案的问题,无论我多么努力。 我正在尝试在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服务X)导入,www.webservicex.net只是为了测试,向Web Service使用者导入。我将它导入我的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错误。该端口在Lotus Domino Designer的首选项部分打开。而且,为了测试起见,我写了一个小的java代理,它只检索网页的html并且它成功了。除非我被告知,否则我认为这意味着沟通工作正常。我真的不知道我做错了什么。我可能错过了一些明显的东西。 非常感谢您的帮助。我试图尽可能缩小我的问题范围,但随时可以询问其他信息, 我非常感谢您对此的帮助

我最诚挚的问候, 卡洛斯

1 个答案:

答案 0 :(得分:0)

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

查看WSDL File,在最顶部,您可以看到以下内容:

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

这意味着Web服务正在使用SOAP1.2。 Domino仅支持infocenter上详述的SOAP1.1。

如果您想创建自己的应用程序,Appdev wiki上有tutorial