Chinaunix首页 | 论坛 | 博客
  • 博客访问: 484543
  • 博文数量: 1496
  • 博客积分: 79800
  • 博客等级: 大将
  • 技术积分: 9940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:22
文章分类

全部博文(1496)

文章存档

2011年(1)

2008年(1495)

我的朋友

分类:

2008-09-09 13:30:19


  
 
  图11. 选择结果映射

  
  图12显示了方法的最终映射。注意在选择映射之后方法声明是如何形成的。这个声明说明方法带有两个String参数(name和number),并返回PhoneStatus类型。单击OK,创建映射。
  
 
  图12. 最终映射

  
  在例子中,我阐明了其他两个robot的相同过程,并且为其生成了方法(参见图13)。创建映射之后,余下惟一要配置的就是通信。这是控件与RoboServer通信时所使用的。图13说明了如何添加新。
  
 
  图13. 添加新协议

  
  有两种协议:socket协议和JMS协议。socket协议必须用于同步通信,而且配置起来是最简单的。只要指定运行RoboServer的机器的URL和用于通信的端口即可。JMS协议则必须用于异步通信,我在这里不讨论它。如果使用RoboSuite自带的默认脚本启动RoboServer,启动时就会在端口50000上使用socket协议,对于控件使用的socket协议,可以选择默认值(参见图14)。只要运行RoboServer与运行WebLogic Server的是同一台机器,就可以选择默认值。
  
 
  图14. 协议对话框

  
  完成控件配置之后,单击Create(如图15所示),控件就会生成。
  
 
  图15. 配置完全的控件

  
  接下来的步骤包括为每个控件方法添加操作。图16说明了如何通过向Web服务上拖拉控件方法来为Web服务添加操作。
  
 
  图16. 从控件方法创建操作

  
  图17显示了添加了所有操作之后的完整Web服务。
  
 
  图17. 完整的Web服务

  
  在测试该Web服务之前,还有一项必须配置的内容。该Web服务的搜索操作将返回一个列表,其类型为类型java.util.List。因为WebLogic Workshop不知道列表上对象的类型,需要指定返回列表中包括哪些类型——在本例中,搜索操作包括类型controls.Phone.PhoneNumber。图18说明了如何指定。
  
 
  图18. 指定所包含的Java类型

  
  现在可以测试Web服务了。测试时,RoboServer必须运行在本地机器上(与运行WebLogic Server的机器是同一台),而且这台机器必须在端口50000上使用socket协议。所以,在测试Web服务之前,要确保运行了这样的RoboServer。当Web服务显示在Design View(或Source View)中时,请单击WebLogic Workshop中的Start图标。这将启动WebLogic Workshop Test Browser(参见图19),可以在其中测试Web服务。
  
 
  图19. 测试Web服务

  
  要测试add操作,只需在测试表单中为add方法输入一个姓名和一个电话号码,如图19所示,然后单击add.按钮。这将调用Web服务,然后浏览器就会显示结果,如图20所示。
  

  图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文件夹中。
【责编:admin】

--------------------next---------------------

阅读(120) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~