WEB开发网
开发学院软件开发Java 以 OSGi 包的形式开发和部署 Web 服务 阅读

以 OSGi 包的形式开发和部署 Web 服务

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示: 调用新服务要调用新版本的 Web 服务,我们需要生成一个新的客户机,以 OSGi 包的形式开发和部署 Web 服务(9),创建一个新的项目 DictionaryServiceV2Client 作为一个 Dynamic web Application,使用与第一个版本相同的步骤复制 wsdl 并生

调用新服务

要调用新版本的 Web 服务,我们需要生成一个新的客户机。创建一个新的项目 DictionaryServiceV2Client 作为一个 Dynamic web Application。使用与第一个版本相同的步骤复制 wsdl 并生成 Java 客户机。创建一个新的 jsp 文件 dictionaryServiceV2Client.jsp,如:

清单 4. dictionaryServiceV2Client.jsp 代码

 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
  pageEncoding="ISO-8859-1" 
import="com.demo.cxfdosgi.v2.DictionaryServiceV2PortTypeProxy"%> 
 
<html> 
<body> 
<% 
DictionaryServiceV2PortTypeProxy proxy = new 
DictionaryServiceV2PortTypeProxy(); 
String[] resp = proxy.lookupWord("whatisthis"); 
out.println("?? DictionaryService response = "+resp[0]); 
%> 
<br/> 
<% 
out.println("?? DictionaryService response = "+resp[1]); 
%> 
</body> 
</html> 

把这个项目作为 DictionaryServiceV2Client.war 导出,然后把它安装到运行在 Eclipse 外部的 tomcat 服务器中。现在在浏览器中访问 http://localhost:8082/DictionaryServiceV2Client/dictionaryServiceV2Client.jsp 时应该显示为:

?? DictionaryService response = whatisthis means...  
?? DictionaryService response = Synonyms:... 

现在我们已经成功地开发、部署和测试了一个 Web 服务的两个版本。

结束语

在本文中,我没有使用 pojo 服务包中的任何 cxf-dosgi API 类。然而,可以通过编辑 manifest.mf 文件(前面的 “导入包” 部分),导入指定包来使用 cxf-dosgi 类。注意,所有 J2SE 类本质上说都可用于一个包。但是,要从一个服务包中使用任何 JEE 服务(如发送邮件等),您需要通过编辑 manifest.mf 来导入具体的 JEE 包。Eclipse 提供了大部分可导入的 JEE 包。

我已经描述了把 Web 服务作为一个 OSGi 包进行开发和部署以及使用一个简单的 web 应用程序客户机调用服务的详细方法。我还讨论了 SOA 策略对于在一个整洁的 OSGi 容器环境中同时部署和支持一个服务的多个版本的好处。

上一页  4 5 6 7 8 9 

Tags:OSGi 形式 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接