我在domino designer 8.5.3中创建了一个java web服务使用者,它使用字符串参数调用WS操作并获得字符串响应。
现在我要创建一个包含1个编辑框,1个计算字段和1个按钮的XPage。在按钮上单击我想运行使用我的WS消费者的服务器端javascript(从框中获取输入并在计算字段中显示响应)。
首先,是否可以通过XPage调用WS?有没有经过测试的解决方案?
我试过了:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/reuse_web_services_xpage.htm我得到了: - >在NSF找不到类org.apache.commons.discovery.tools.DiscoverSingleton
我将java的消费者源码复制到Java代码文件夹中。然后我创建了自己的类来执行调用,而从SSJS我调用了我的类'方法。我得到了: - > lotus.domino.axis.ConfigurationException:没有引擎配置文件 - 正在中止!
http://openntf.org/XSnippets.nsf/snippet.xsp?id=call-webservice-from-java-ssjs-xpages我得到了: - >在控制台中打印空输出变量
P.S:我能够使用Java代理调用并获得结果,我还能够创建一个Notes表单并使用lotusscript使用者填充计算字段。
我现在想要的是:使用XPage中的java使用者从WS中设置字段值。
答案 0 :(得分:2)
Mike X,
遗憾的是,您不能直接在XPage中使用生成的Web服务使用者(类代理和Java路径对于Java代理和XPage是不同的 - 但您已经想到了这一点)。你有两种可能性:
调用代理程序会在运行时带来性能损失以启动代理程序运行时。让我们知道它是怎么回事
答案 1 :(得分:1)
发现解决方案!!!
(打开包浏览器视图和应用程序视图) 1:创建一个java消费者 2:在code / java文件夹中创建包,并将它们命名为使用者生成的 3:将java文件导出或复制到code / Java文件夹(进入正确的包)
到目前为止它不起作用,你会得到轴配置的错误,但执行以下操作才能使其工作:
4:转到package explorer,打开使用者(.javalib)编译它,同时仍然打开右键单击它并用系统编辑器打开。将弹出一个包含一些jar文件的窗口。用(我使用winrar)打开这个“webserviceresource.jar” 5:复制.wsdd文件(或者你想要的所有文件......),将它们粘贴到代码/ java中(没有新的包新文件夹等,只需粘贴它们)
6:在javascript编辑器中使用importPackage导入这些java包,然后编写代码
ws客户端现已准备就绪。您可以将它与xpage一起使用。