我目前正在测试Apache (2.7.11)。目的是构建一个Web服务客户端。我正在大致跟踪Martin的博客文章(http://www.bizzybee.be/2013/01/23/creating-a-java-webservice-client-in-domino-using-apache-cxf/#more-451)。我有一个WSDL文件,我用wsdl2java工具创建了示例代码。
我的第一个想法是将wsdl文件存储在NSF中(例如WebContent\WEB\resources\wsdl)。但是,生成的代码似乎没有找到WSDL文件。代码如下(类名会话来自WSDL):
Session.java:
URL url = Session.class.getResource("WEB-INF/wsdl/twinfield/session.wsdl");
if (url == null) {
url = Session.class.getClassLoader().getResource("WEB-INF/wsdl/twinfield/session.wsdl");
} 我尝试了WEB和/WEB,但似乎都不起作用。
如果我将WSDL文件放到web上(例如domino/html/wsdl文件夹),上面的url可以工作,但是代码稍后会中断(看起来它使用java.io.File试图加载WSDL)。
本地引用(例如C:\temp\wsdl)可以工作,但听起来并不像一个健壮的选项。
最后的java代码将在WebContent\WEB\src中,而不是在Code\Java中。
那么,在Domino环境中存储和引用WSDL文件的“最佳实践”是什么?
更新
我使用了@stwissel的建议,并注意到wsdl2java工具实际上可以为您创建整个jar。只需指定选项-clientJar,生成的JAR文件将包含所有类文件+ wsdl文件。
发布于 2014-05-12 09:44:36
当您从WSDL生成Java类时,应该将它们打包到一个JAR文件中。将WSDL放入Jar文件,这样它就不会丢失。这篇博客文章和评论解释了这一点。
当您将该jar保存在NSF中时,可能会出现访问权限(Java执行权限)的问题。
博客条目包含示例代码,所以请检查它!
https://stackoverflow.com/questions/23602834
复制相似问题