JAVA基础:为Web服务构建Struts应用程序(四)

日期: 2007-12-17 作者:执木 来源:TechTarget中国

  订购者:使用 Web 服务

  应用程序可以利用在公共注册表或者企业内部中已存的 Web 服务。 WSManager 有解析必要的 WSDL 文件的方法并且调用相关的操作返回一个值。Struts 控制器在 WSManager 类中调用相关方法来使用特定的 Web 服务。数据作为预定义的数据访问对象在 WSManager 和 Struts 控制器之间来回传送。访问 Web 服务时所发生的所有异常都将在 WSManager 中列举出来并且传回到 Struts ActionController.

  服务请求者要通过使用服务代理来搜索 Web 服务;如果找到它所想要使用的 Web 服务,为使用这个服务它将与服务提供者建立一个合约,然后才能调用服务中的业务。

  WSManager 使用 WSDL 文档、服务器名字、端口名、操作名以及包括 Java 原始类型、Java 数组、Java 对象 或者与 XML 文档等所有必需的请求参数一起来订购一个 Web 服务。

  如果是在 UDDI 注册表中发布目标 Web 服务,那么所有基于 Struts 的应用程序都能使用像 XMethods (请参阅参考资料)这样的代理服务来订购它。在执行完所请求的操作后,供应者 Web 服务返回所期望的值。 WSManager 可以更改返回值使得它与应用程序所期待的 schema 相匹配;它也可以在应用程序要求基础上修改结果。从 WSManager 收到结果以后,Struts ActionController 能够处理结果并传送给相关视图,或者还能调用相关的模型服务来完成深层处理。

  错误处理

  所有的错误都是在 WSManager 层中处理的;这就消除了不必要的服务器开销。如果模型服务是当作 EJB 层来实现的,那么其性能会得到非常显著地增强。

  在充当供应者角色时, WSManager 抛出所有如 SOAPFaultException 这样的异常。它还可以检查新来的请求并且抛出所有缺少强制字段的异常。您可以创建一个类来跟踪并在数据仓库中记录这些错误,以后可以做作参考。

  在充当订购者角色时, WSManager 捕捉到由服务供应者所抛出的所有 SOAP 异常并且将它们更改为 WSManager 所要求的格式。您可以记录下所抛出的错误作为以后参考之用。如果需要,那么在需要时候也能够校验出响应值并且作为异常抛出。您可以创建一个类来记录这些异常,作为以后参考之用。 WSManager 能够验证响应值而且可以作为一个异常将它抛出。

  审核

  在充当供应者角色时, WSManager 可以记录下详细信息,将来可以做为审核。使用这些信息有很多用途,像:

  ☆ 在所接收到的大量采样点基础上登记客户端。

  ☆ 收集数据用作市场目的。

  ☆ 决定应用程序是否需要更新。

  ☆ 鉴别并捕捉非法用户。

 

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

执木
执木

相关推荐