当前位置: 首页 > 知识库问答 >
问题:

调用Domino XPage中的web服务消费者来填充字段

督烨赫
2023-03-14

我在domino设计器8.5.3中创建了一个java web服务消费者,它使用字符串参数调用WS操作并获取字符串响应。

现在我想创建一个带有1个编辑框、1个计算字段和1个按钮的XPage。单击按钮后,我想运行使用WS使用者的服务器端javascript(从框中获取输入并在计算字段中显示响应)。

首先,是否可以通过XPages调用WS?有测试过的溶液吗?

我试过:

>

  • http://www-10.lotus.com/ldd/ddwiki.nsf/dx/reuse_web_services_xpage.htm 我得到:-

    我复制java源的消费者到Java代码文件夹.然后我创建了我自己的类,做调用,并从SSJS我调用我的类的方法.我得到:-

    http://openntf.org/XSnippets.nsf/snippet.xsp?id=call-我从java sshtml" target="_blank">js xpages获得的webservice:-

    页(page的缩写)s:我能够使用Java代理调用并获得结果,我还能够创建一个Notes表单并使用lotusscript consumer填充一个计算字段。

    我现在想要的是:使用一个来自XPage的java消费者来设置来自WS的字段值。

  • 共有2个答案

    谢飞舟
    2023-03-14

    找到解决方案了!!!

    (打开包资源管理器视图和应用程序视图)1:创建一个java消费者2:在code/java文件夹中创建包,并将它们命名为消费者生成的包3:导出或复制java文件到code/Java文件夹(到正确的包中)

    到目前为止,它不工作,您将得到轴配置错误,但请执行以下操作以使其工作:

    4:转到包资源管理器,打开消费者(. javalib)编译它,同时仍然打开右键单击它并使用系统编辑器打开。将弹出一个包含一些jar文件的窗口。用(我用的是winrar)5打开这个“webserviceresource.jar”:复制. wsdd文件(或所有文件,如果你想要的话…),将它们粘贴到code/java中(没有新包、新文件夹等,只需粘贴它们)

    6:在脚本编辑器中使用导入包来导入这些Java包,然后编写代码

    ws 客户端现在已准备就绪。你可以把它和你的xpage一起使用。

    微生俊
    2023-03-14

    迈克·X

    不幸的是,您不能在XPage中直接使用生成的Web服务消费者(Java代理和XPage的类加载器和Java路径不同,但您已经想到了这一点)。您有两种可能性:

    • 从您的 XPage 呼叫代理并移交内存中的文档以传输结果
    • 使用 CXF 将使用者重建为 Java 类/Bean(请参阅此说明

    调用代理会带来运行时的性能损失,因为这会加速代理的运行。让我们知道进展如何

     类似资料:
    • 你们中有人知道用SOAP web服务实现消费者驱动的契约的方法或工具吗?我有一个发布SOAP web服务的遗留Java应用程序,用Apache CXF实现,由一群Spring Boot Java微服务使用。我已经在使用Pact和Spring Cloud Contract来测试我在微服务之间的REST调用,但是找不到一种方法来使用这些相同的工具或任何其他工具来实现SOAP web服务。

    • Feign介绍 Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者JAX-RS注解,还支持热插拔的编码器和解码器。Spring Cloud为Feign添加了Spring MVC的注解支持,并整合了Ribbon和Eureka来为使用Feign时提供负载均衡。 译自:h

    • Ribbon介绍 Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负

    • 我正在尝试使用camel使用restful Web服务。 为此,我正在配置动态endpointurl,因为RESTful url是在运行时创建的。每次我都会使用CamelContext类的以下方法检查特定endpointurl是否在我的CamelContext中注册为路由。 endpoint有Endpoint(String uri); 在这种情况下,如果未注册终结点,则使用自定义路由生成器将路由添

    • 我知道这个话题已经贴了很多次了,但这个问题没有真正的解决办法。 最近,在一些应用程序中,我决定进行更新。这是将库版本(admob)更改为最新版本的一次小更新。我还将targetSdkVersion从25更改为26。几天后,我检查了admob上的统计数据,所有这些应用的填充率都降到了0!请求的数量也增加了。用于横幅和间隙。其他应用程序不受影响。 我认为有一些愚蠢的错误,但我在代码中找不到任何问题。

    • 上文我们创建了注册中心,以及服务的提供者microservice-provider-user,并成功地将服务提供者注册到了注册中心上。 要想消费microservice-provider-user的服务是很简单的,我们只需要使用RestTemplate即可,或者例如HttpClient之类的http工具也是可以的。但是在集群环境下,我们必然是每个服务部署多个实例,那幺服务消费者消费服务提供者时的负