【问题标题】:How to call a web service operation from JSF如何从 JSF 调用 Web 服务操作
【发布时间】:2010-07-20 05:08:41
【问题描述】:

我有一个名为 getJobCostToDate(String jobnum) 的 Web 服务操作,当传递一个作业编号时,它将返回迄今为止的作业成本。

我正在显示的页面连续显示作业数据,迄今为止的作业成本是表格数据的一列。

我发现我应该能够在后端使用托管 bean 来调用 Web 服务操作,但我对 JSF 或编写 Web 服务代理客户端的了解不够,无法弄清楚我应该如何做。

我希望能够在后端 bean 中调用一个操作并传递该行的作业编号以获取要显示的成本,但我了解到 JSF 不能这样工作。

我在书店里看过一些 JSF 书籍,它们没有任何关于如何使用 JSF bean 调用 Web 服务操作的好例子。我也很难在 google 中找到任何好的文章或示例。

任何人都可以推荐任何涵盖此的好书或文章吗?或者谁能​​指出我正确的方向?

任何帮助将不胜感激!

【问题讨论】:

    标签: web-services jsf


    【解决方案1】:

    一些供应商拥有可以从 WSDL 生成 bean 的 JSF 工具,实际上感觉就像您只是将 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 */
    }
    

    现在你有了可以像其他任何东西一样使用欲望的豆子。同样,您可以在 Backing Bean 中调用服务 - 我认为没有理由反对在那里进行服务调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2011-07-25
      • 2020-03-31
      • 1970-01-01
      • 2011-02-16
      相关资源
      最近更新 更多