带有附件的 SOAP 消息:WSDL 示例

使用此任务查看带有附件的 WSDL 文件的示例和说明。

示例

以下示例 WSDL 演示了一个简单操作,该操作具有一个名为 attch 的附件:

<binding name="MyBinding" type="tns:abc" >
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="MyOperation">
    <soap:operation soapAction=""/>
    <input>
      <mime:multipartRelated>
        <mime:part>
          <soap:body parts="part1 part2 ..." use="encoded" namespace="http://mynamespace"
            encodingStyle="http://schemas.xmlsoap.org/soap/encoding"/>
        </mime:part>
        <mime:part>
          <mime:content part="attch" type="text/html"/>
        </mime:part>
      </mime:multipartRelated>
    </input>
  </operation>
</binding>
在此类 WSDL 扩展中:
  • 操作(在本示例中,操作是 MyOperation)的输入消息必须具有 part 属性(在本示例中,该属性为 attch)。MyOperation 还可以具有其他不是附件的输入部件。
  • 在绑定输入中,必须要有 <soap:body> 标记或 <mime:multipartRelated> 标记,但不能同时有这两个标记。
  • 对于 MIME 消息,<soap:body> 标记位于 <mime:part> 标记内。在绑定输入中,必须只有一个 <mime:part> 标记包含 <soap:body> 标记,并且该标记一定不能同时包含 <mime:content> 标记,这是因为,对于 <soap:body> 标记,假定内容类型为 text/xml
  • 在 MIME 消息中可以有多个附件,每个附件都由 <mime:part> 标记描述。
  • 每个未包含 <soap:body> 标记的 <mime:part> 标记都包含用来描述附件本身的 <mime:content> 标记。服务集成总线既不检查也不使用 <mime:content> 标记中的 type 属性。建议应用程序使用附件包含的服务集成总线。在一个 <mime:part> 标记中有多个 <mime:content> 标记表示后端服务需要一个附件,该附件的类型由该 <mime:part> 标记中的其中一个 <mime:content> 标记指定。
  • 假定 <soap:body> 标记中的 parts="..." 属性包含消息中所有 SOAP 部件(附件部件除外)的名称。如果只有附件部件,那么指定 parts=""(空字符串)。如果完全省略 parts 属性,那么服务集成总线假定所有部件都包括附件 - 这将导致附件出现两次。

在 WSDL 中,您可能已经为附件定义了模式(例如,定义为 binary[])。服务集成技术以静默方式忽略此映射并将该附件视为数据处理程序。

不需要在 WSDL 绑定中涉及被取消引用的附件。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_attach_wsdl
文件名:tjw_attach_wsdl.html