我有一个名为getJobCostToDate(String jobnum)的Web服务操作,当它传递一个工作号时,它将返回到目前为止的工作成本。
我正在显示的页面连续显示作业数据,到目前为止的作业成本是表格数据的一列。
我发现我应该能够在后端使用托管bean来调用Web服务操作,但是我对JSF或编写Web服务代理客户端不太了解我应该如何做到这一点。
我希望能够在后端bean中调用一个操作并传递该行的作业号以获得显示的成本,但我已经读过JSF不能那样工作。
我查看了书店里的一些JSF书籍,他们没有任何关于如何使用JSF bean调用Web服务操作的好例子。我也很难在谷歌搜索任何好的文章或例子。
任何人都可以推荐任何涵盖此书的好书或文章吗?或者任何人都可以指出我正确的方向?
非常感谢任何帮助!
答案 0 :(得分:1)
有些供应商有JSF工具可以从WSDL生成bean,实际上感觉就像你只是将WSDL拖到页面上。我使用具有此功能的基于IBM Eclipse的产品,但免费的Eclipse工具可能具备您所需的功能。
在最糟糕的情况下,自己不应该这么做:
1)。从WSDL生成Java客户端,Eclipse应该处理它。
2)。如果生成的代码是Bean然后很好,那么现在可以使用JSF。如果没有,那就写一个简单的Java Bean
public class MyServiceBean {
private ServiceClient myServiceCaller;
/* plus variables to hold service result */
public MyServiceBean() { /* init code */ }
private invokeService() { /* invoke service, save result */ }
public getSomeValue() {
invokeService();
/* return value */
}
/* other getters */
}
现在你有了可以像其他任何东西一样使用的bean。同样,你可以在Backing Bean中调用服务 - 我认为没有理由反对在那里进行服务调用。