本节运行了new file wizard(参见图4),其中已经预先选择了web服务文件类型。输入web服务的名称,然后单击create。
图4. 选择 web服务的名称
创建robosuite控件
创建web服务之后,下一步就是创建robosuite控件。右击该web服务,然后选择add control > robosuite control,如图5所示。这将运行insert control wizard(参见图6)。这个向导基本上是一个标准的weblogic workshop向导,但是其中的步骤3将取决于用户所选择的控件种类。
图5. 添加robosuite控件
该向导中的头两个步骤是命名web服务中的控件实例和命名控件文件(生成的jcx文件)。选择实例名称phone。这对应于java风格的jcx文件中的一个字段名称,所以在这里必须遵从java命名约定。jcx文件名类似于java类名。为控件选择包名称controls,这既是实际的也是必需的做法。jcx文件位于一个称为controls的文件夹中,该文件夹为应用程序提供某种结构(此外,不能把控件放在默认的顶级包中)。
图6. 命名控件
向导的最后一个步骤是配置控件。这个步骤由几个子步骤组成。第一个子步骤是选择robot所在的库。在本例中,robot位于本地文件系统中一个称为phone.robotlib的robot库文件中,所以必须选择robot library file at url选项(参见图7)。另一个可能的robot位置在控件或robosuite附带的文档中有所描述。此处我不再详细讲述。
图7. 选择 robot library位置
选定robot library的位置以后,必须指定有关库的更详细信息(例如库的url),在本例中也不例外。我们指定了robot库文件在本地文件系统中的位置(参见图8)。
图8. 选择 robot library url
指定了robot的完整位置之后,映射表就会显示库中的robot。映射的目的是定义robot和控件方法之间的映射。如果列表中的映射存在,那么对方法的调用就会导致对指定robot的调用。目标是为所有的三个robot定义映射,这样控件就包含一个可以执行robot所要执行的三种操作的方法:搜索、添加和删除。添加新映射的方法是,右击robot旁边的mapping列,然后选择new…选项,如图9所示。
图9. 创建新的映射
该步骤运行了map editor(参见图10)。map editor推荐一种默认映射,它包含一个签名和一个方法的返回类型,从方法的输入参数到robot输入对象的属性的映射,以及从robot输出对象到方法结果的映射。对于add robot,有一个称为phoneupdate的输入对象,它有两个属性:name和number。编辑器推荐一种映射,在此映射中,方法的两个参数直接映射为phoneupdate对象的属性。对于输入来说,这似乎是合理的映射,所以我们将采用这种方法。
图10.映射编辑器
然而,输出的结果映射并不是您想要的。输出的这个结果映射指定,所有对象都将在一个列表中返回。对于add robot,您知道,有且只有一个对象会被返回,而且该对象是一个phonestatus对象。所以,还可以选择一种只返回第一个phonestatus对象的结果映射。java对象phonestatus是位于phone接口中的一个公共静态内部类,而phone接口定义在所生成的jcx文件中。图11显示了如何选择结果映射。
(t112)