使用WS-I的wsi:swaRef XML类型的附件(三)

日期: 2007-12-13 作者:Russell Butek 来源:TechTarget中国

  wsi:swaRef 与 SOAP

  清单 2 显示了 WSDL 定义中的 wsi:swaRef。清单 3 显示了一个 SOAP 请求消息示例。它是清单2 中定义的服务的sendImage 操作的消息。在突出显示的部分,可以看到 image 的 wsi:swaRef 参数如何与实际图像数据的内容 ID 相关联。尽管与标准的带附件的 SOAP 消息不完全相同,但概念是相似的。

  清单 3. 带 wsi:swaRef 数据的 SOAP 消息

        ——=_Part_0_1245231543.1147796620031
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <89884062647.1147796620016.IBM.WEBSERVICES@ISSW>

<soapenv:Envelope
   
   
   
    >
  <soapenv:Header/>
  <soapenv:Body>
   <p985:sendImage >
    <image>cid:image=881207433652.1147796619984.IBM.WEBSERVICES@ISSW</image>
   </p985:sendImage>
  </soapenv:Body>
</soapenv:Envelope>
——=_Part_0_1245231543.1147796620031
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-Id: <image=881207433652.1147796619984.IBM.WEBSERVICES@ISSW>

… binary image data …
 
  wsi:swaRef 与 Java

  您已经了解了 wsi:swaRef 的声明,而且还看到了 SOAP 消息中的 wsi:swaRef 实例。最后要考虑的是 wsi:swaRef 如何映射到编程语言。由于我是一个 Java 迷,因此将在此讨论 Java 映射。

  JAX-RPC 1.1 版最终确定之后,WS-I才定义了 wsi:swaRef,因此 JAX-RPC 没有为我们提供映射。不过,它还是给了我们一点提示。它规定,未知的 MIME 类型将映射到 javax.activation.DataHandler。由于 wsi:swaRef 的确是一个未知的 MIME 类型,因此它也会映射到 javax.activation.DataHandler,这似乎是理所当然的。如果我们注意一下新动向,就会发现新的JAX-B 2.0 规范事实上已经采纳了这种映射方式。因此,完全可以假定任何支持 wsi:swaRef 的实现都会将其映射到 javax.activation.DataHandler。清单 4 显示了清单 2 中的 WSDL 的 Java 接口。

  清单 4. wsi:swaRef 的 Java 映射

public interface AttachmentTip extends java.rmi.Remote {
  public void sendImage(javax.activation.DataHandler image)
   throws java.rmi.RemoteException;
  public void sendOctet(javax.activation.DataHandler octet)
   throws java.rmi.RemoteException;
}

  结束语

  WSDL 的附件定义存在一些问题,因此 WS-I 组织创建了新的附件类型 wsi:swaRef。此类型将采用与标准的 WSDL 附件类似的方式映射到 SOAP 消息中;此类型还将作为未知 MIME 类型映射到 Java 中,即 javax.activation.DataHandler。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐