快速业务通道

集成医疗保健服务,第 2 部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-13
时间:2012-04-24 IBM Bilal Siddiqui

CXFSE 是一个可配置的包装器,这意味着通过编写一个 XML 文件您可以控制您的 SE 的行 为。接下来我将演示如何为 Radiology Department 应用程序的 CXFSE 编写 XML 配置。但首 先,我将为所有需要在 ServiceMix 上托管内部应用程序(或服务)的操作提供一个高级计划 。

托管 Radiology Department 应用程序为一个内部服务

在 ServiceMix 上托管内部服务的过程需要一些配置,我将这些配置分成以下五步:

为 Radiology Department 应用程序编写并编译包含业务逻辑的 Java 类,并公开该类作为 一个 Web 服务。

在 Spring 框架上配置 Radiology Department 应用程序的 Java 类,以便框架根据应用程 序需求实例化这些类并使它们可用。

为 Radiology Department 应用程序编写一个 WSDL 接口。JBI 规范使用 WSDL 2.0 来定义 通过内部和外部服务提供商公开的服务接口。

为服务提供商(Radiology Department 应用程序)和服务客户编写 JBI 配置。(回忆在第 1 部分的 图 6 上的 Prescription 应用程序,是一个服务客户发送服务请求给 Radiology Department 应用程序。)

将 Radiology Department 应用程序打包为一个 JBI 服务程序集并将其复制到 ServiceMix 中。

在执行第 5 步之后,通过从 Prescription 应用程序(服务客户)发送消息到 Radiology Department 应用程序您将看到您的 HSB 在活动。

现在我将描述并演示每一步。

Radiology Department 应用程序作为一个简单的 Java 类

清单 1 显示一个名为 RadiologyDepartment 的简单 Java 类,其只有一个名为 performTest() 的方法:

清单 1. RadiologyDepartment 类

package com.hsb; import javax.jws.WebService; import javax.xml.ws.Holder; import com.hsb.Radiology; @WebService(serviceName="RadiologyService",    targetNamespace="http://hsb.org/radiology-department",    endpointInterface="com.hsb.Radiology") public class RadiologyDepartment implements Radiology {    public void performTest (Holder<String> testDetails,  Holder<String> testResults)    {      System.out.println ("        RadiologyDepartment.performTest()- >  TestDetails:"+testDetails.value);      System.out.println ("        RadiologyDepartment.performTest()- >  TestResults:"+testResults.value);    } }

集成医疗保健服务,第 2 部分(3)

时间:2012-04-24 IBM Bilal Siddiqui

performTest() 方法有两个参数:testDetails 和 testResults。正如您看到的,它们是 Holder <String> 类型。Holder 是一个通过基于 XML 的 Web 服务(XML-Based Web Services,JAX-WS)定义的类。CXFSE 使用 JAX-WS,可以方便地使用此类的实例来与您的 Java 类交换信息。Holder 类有一些插入数据到其实例并从其实例中提取数据的方法。CXF 框 架在内部将来自 XML 请求消息的数据填充到 Holder 对象并传递 Holder 对象到 Radiology Department 应用程序的 Java 类。

严格地说,为了简便起见我将 performTest() 方法留为空(除了少数 System.out 语句外 )。在实际应用程序中,performTest() 方法将被挂接到 Radiology Department 应用程序的 业务逻辑上。

您需要编译 RadiologyDepartment 类。本文的 下载 中包含一个名为 sample1 \RadiologyService 的文件夹,在这里您将发现 RadiologyDepartment 类的代码和一个已编译 的类表。

您也需要生成适用于 XML 绑定的 Java API(Java API for X

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号