我需要在 xPages 中使用 web 服务客户端。
我找到了一个简单的 ws 来测试,叫做 CurrencyConverter。WSDL 在这里:http ://www.webservicex.net/CurrencyConvertor.asmx?WSDL
- 首先,我在JDK6中使用wsimport工具创建了一个java类。
- 我确保我的项目使用 Java 1.6
- 然后我在我的 Eclipse Juno 中创建了一个新的 java 项目并将这些文件导入到 src 文件夹中
- 然后我创建了一个简单的类来测试它:
CurrencyConvertor 服务 = new CurrencyConvertor();
CurrencyConvertorSoap msg = service.getCurrencyConvertorSoap();
双倍汇率 = msg.conversionRate(Currency.USD, Currency.CZK);
System.out.println("美元兑捷克克朗汇率 = " + 汇率);
它工作得很好。
然后我想在 xPages 中使用相同的方法。
- 首先,我创建了一个新的 Domino 应用程序
- 然后我确保它使用 Java 1.6
- 然后在包资源管理器中,我创建了一个名为 src 的新文件夹并将其添加到构建路径
- 然后我将那些由wsimport工具制作的java文件导入到这个文件夹中
- 然后我创建了一个名为 TestBean 的新类,并在其中创建了一个新方法 getCurrency() ,其代码与上面相同
- 然后我使用视图范围在 faces-config.xml 中将此 TestBean 注册为“服务”
- 然后我创建了一个名为 home 的新 xPage
- 然后我把一个新的 ComputedField 放到这个 xpage 中:
value="#{service.currency}"
你知道吗?它不起作用。它会抛出带有消息的 WebServiceException:类 net.webservicex.ConversionRate 没有名称为 { http://www.webserviceX.NET/ }FromCurrency的属性
那么,我做错了什么,还是只是典型的 IBM Notes/Domino 问题?
编辑:我在 Domino 9 服务器上创建了一个典型项目。有人可以检查并尝试一下吗?也许我只是做错了什么。 这是测试应用程序。