服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

技术分析:将web站点转换为web服务二(组图)


  
 技术分析:将web站点转换为web服务二(组图)(图一)
  图11. 选择结果映射

  
  图12显示了方法的最终映射。注意在选择映射之后方法声明是如何形成的。这个声明说明方法带有两个string参数(name和number),并返回phonestatus类型。单击ok,创建映射。
  
 技术分析:将web站点转换为web服务二(组图)(图二)
  图12. 最终映射

  
  在例子中,我阐明了其他两个robot的相同过程,并且为其生成了方法(参见图13)。创建映射之后,余下惟一要配置的就是通信协议。这是控件与roboserver通信时所使用的协议。图13说明了如何添加新协议。
  
 技术分析:将web站点转换为web服务二(组图)(图三)
  图13. 添加新协议

  
  有两种协议:socket协议和jms协议。socket协议必须用于同步通信,而且配置起来是最简单的。只要指定运行roboserver的机器的url和用于通信的端口即可。jms协议则必须用于异步通信,我在这里不讨论它。如果使用robosuite自带的默认脚本启动roboserver,启动时就会在端口50000上使用socket协议,对于控件使用的socket协议,可以选择默认值(参见图14)。只要运行roboserver与运行weblogic server的是同一台机器,就可以选择默认值。
  
 技术分析:将web站点转换为web服务二(组图)(图四)
  图14. 协议对话框

  
  完成控件配置之后,单击create(如图15所示),控件就会生成。
  
 技术分析:将web站点转换为web服务二(组图)(图五)
  图15. 配置完全的控件

  
  接下来的步骤包括为每个控件方法添加操作。图16说明了如何通过向web服务上拖拉控件方法来为web服务添加操作。
  
 技术分析:将web站点转换为web服务二(组图)(图六)
  图16. 从控件方法创建操作

  
  图17显示了添加了所有操作之后的完整web服务。
  
 技术分析:将web站点转换为web服务二(组图)(图七)
  图17. 完整的web服务

  
  在测试该web服务之前,还有一项必须配置的内容。该web服务的搜索操作将返回一个列表,其类型为java类型java.util.list。因为weblogic workshop不知道列表上对象的类型,需要指定返回列表中包括哪些类型――在本例中,搜索操作包括java类型controls.phone.phonenumber。图18说明了如何指定。
  
 技术分析:将web站点转换为web服务二(组图)(图八)
  图18. 指定所包含的java类型

  
  现在可以测试web服务了。测试时,roboserver必须运行在本地机器上(与运行weblogic server的机器是同一台),而且这台机器必须在端口50000上使用socket协议。所以,在测试web服务之前,要确保运行了这样的roboserver。当web服务显示在design view(或source view)中时,请单击weblogic workshop中的start图标。这将启动weblogic workshop test browser(参见图19),可以在其中测试web服务。
  
 技术分析:将web站点转换为web服务二(组图)(图九)
  图19. 测试web服务

  
  要测试add操作,只需在测试表单中为add方法输入一个姓名和一个电话号码,如图19所示,然后单击add.按钮。这将调用web服务,然后浏览器就会显示结果,如图20所示。
  
技术分析:将web站点转换为web服务二(组图)(图十)
  图20. 测试add操作的结果

  
  结束语
  
  本文介绍了一种把支持web的应用程序转变为web服务的快速方法。但是涉及到的不过是robosuite control功能的皮毛。通常,生成的控件可以在使用其他类型控件的任何地方使用,例如在页面流、自定义控件或流程工作流中。在robosuite bea weblogic edition中的weblogic workshop中还包括许多其他的特殊robosuite功能,我还没有介绍。这些功能包括:剪切portlet,web服务生成,用于从jsp页面调用robot的一个标签库,以及用于编写自定义java代码来执行robot的java api。我将在以后的文章中陆续介绍这些更高级的功能。
  
  代码
  
  尽管我建议您遵从本文中的指导,创建自己的web服务和控件,我还是在下面给出了例子代码:
  
  web服务:phone.jws――应该位于web服务项目的根目录中。
  
  控件:phone.jcx――应该位于web服务根目录中的controls文件夹中。
  
  robot库:phone.robotlib――应该位于web服务根目录中的controls文件夹中。

扫描关注微信公众号