代理调用现有的 Web service - 详细

这是典型的端对端场景的概述,在该场景中,代理调用 Web service。

有两个基本的业务问题:

可以假设某个 WSDL 定义可用于 Web service。

  1. 为 Web service 导入该 WSDL 定义,以创建一个消息模型用于有效内容数据(参见导入数据结构)。
  2. WSDL 导入步骤将导致相应的 SOAP mxsds 自动包含在消息集中。具体地讲,这包括 SOAP 封包 mxsd 和 SOAP 解码 mxsd(如果需要)。
  3. 执行消息流以产生 Web service 请求,即,作为 Web service 客户机。端点节点可能是 MQ,以与现有系统集成。 该流包含一个 HTTPRequest 节点,用来发出 Web service 请求和接收响应。用户必须通过植入 SOAP 封包实例,创建所需的 SOAP 内容。可以通过映射节点做到这点,也可以在 ESQL 中直接创建:
     
     DECLARE SOAPENV NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
     
     SET OutputRoot.Properties.MessageSet = 'soap1';
     SET OutputRoot.Properties.MessageType = 'Envelope';
     SET OutputRoot.Properties.MessageFormat = 'XML1';
     
     SET OutputRoot.MRM.SOAPENV:Body.addEntryResponse.cid = 'abc123';
     .
     .
  4. 与请求相关的 HTTPRequest 节点属性有:
    • 域:“MRM”
    • 集:包含 SOAP 封包定义的消息
    • 类型:“封包”
    • 格式:“XML1”
    • Web service 请求是包含整个输入消息,还是只包含它的一部分
  5. 与响应相关的 HTTPRequest 节点属性有:
    • 用来重新引导 HTTP 状态码 300-399 的选项
    • 有效的 Web service 响应是替换树中的输入消息(缺省),还是附加在原始树中的特定位置
    • 同样,Web service 错误是替换树中的输入消息(缺省),还是附加在原始树中的特定位置
    • 域、集、类型和格式(如上面的步骤 4)。代理使用它们从位流创建逻辑树(部分)
  6. 一旦响应在树中可用,您就可以使用映射节点或使用 ESQL 来处理它。 如果响应消息的实际名称未知(未在 WSDL 中定义,且请求名称的附加响应仅是约定),那么用户可以写 ESQL,以检查(任意命名的)响应元素的子代。
相关概念
Web service、WSDL 和消息流
代理调用现有的 Web service
代理实现新的 Web service 接口
代理实现现有 Web service 接口
代理实现新 Web service 的非 Web service 接口
相关任务
代理实现现有的 Web service - 详细
代理调用现有的 Web service - 详细
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac34590_