(三)Web Service Enable Builder
在 WebServiceModel 中新建一个 Web Service Enable Builder(新建方法请参考 Method builder 的创建),打开 Web Service Enable Builder 编辑器, 如图 9
图 9. Web Service Enable Builder 编辑器
如图所示:
在进行 Web Service Enable 构建器的配置时,首先要确定待发布的 Web Service 的模式,即在编辑器中的 Advanced 栏目下选择 Web Service 的模式,本示例采用的是 Document-literal 模式,所以将 SOAP Style 选为 document,Encoding Style 选为 literal。
(1) 在 Name 中输入此构建器的名称 ExposeServiceEnable。
(2) 在 Method 中,从下拉菜单中选择要开放为 Web Service 的方法,此处选择已定义好的 getQueryResult() 方法。
(3) Reset NameSpace:按下此按钮将重新计算方法/服务名称空间。如果将模型移至一个新位置或重命名模型,则可能需要执行此操作。按下此按钮将强制构建器指向当前模型的路径和名称。
(4) Method Description:输入方法 ( 即服务提供的方法 ) 的描述信息。此处采用默认空值。
(5) Response Description:输入服务响应的描述信息。例如:“返回数据结构。”此处采用默认空值。
(6) Response SchemaPath:选择用于定义方法返回的数据的模式类型(或元素)。注意:如果显示为 RPC 样式,则通常指定类型。如果显示为文档文字,则指定元素。此处使用步骤(二)中创建的 schema 构建器 query 中的 query/result 对象,具体做法是:点击右边的选择按钮,打开 Schema 选择器, 如图 10
图 10. Schema 选择器
如图所示,选中 result,然后点击 OK 按钮
注意:不要选到 value 这一层。
(7) Return value name:RPC 样式响应通常与部分名称“return”一起返回。此输入字段允许您覆盖此部分名称,此处采用默认值 return。
(8) Arg1 Name(IXml):此 WebService 需要接受的参数,对于每个参数,在 WSDL 文档和服务调用构建器中输入标识此参数的名称。此处输入参数名称 inputstr,当然你也可以填写其他的名称。
(9) Arguments SchemaPath:选择用于定义方法返回的数据的模式类型(或元素)。注意:如果显示为 RPC 样式,则通常指定类型。如果显示为文档文字,则指定元素。此处使用步骤(二)中创建的 schema 构建器 query 中的 query/query 对象,具体做法是:点击右边的选择按钮,打开 schema 选择器, 如图 11
图 11. Schema 选择器

如图所示,选中 query,然后点击 OK 按钮
注意:不要选到 arguments 这一层。
(10) Arg1 Descripion:对于方法接受的每个参数,输入关于此参数的简短描述。此描述信息将用于 WSDL 文档中的参数注释。此处采用默认空值。
(11) 在 Header Information 下面的所有配置,都是对 SOAP 消息头进行的设置,此处将 MustUnderstand 设置为 Ignore。其余均采用默认值。
(12) Advanced:在 Web Service Enable 构建器讲解的开始部分已经对该选项进行了说明,请参阅本小节开始部分。
在所有的设置工作完成后,点击 Apply 按钮保存设置。最后点击工具条中的保存按钮保存工程。