`
ribishuangba
  • 浏览: 290980 次
文章分类
社区版块
存档分类
最新评论

Java与WCF交互(二):WCF客户端调用Java web service

 
阅读更多

在上篇《 Java与WCF交互(一):Java客户端调用WCF服务 》中,我介绍了自己如何使用axis2生成java客户端的悲惨经历。有同学问起使用什么协议,经初步验证,发现只有wsHttpBinding可行,而 NetTcpBinding不可行,具体原因待查。昨晚回去重新测试WCF客户端调用Java Web Service,并将过程公布如下:

其实本不需要做web service,只是原来公开的经典的Web service像( http://soapinterop.java.sun.com/round2.base?WSD L)等不可访问了。于是邀月重写了一个本地的web service,以作演示。

第一步:建立本地java环境,并构建 web Service代码,发布web service

1、设置Java环境:

JDK6/J2SE1.6以上,必须!! 后面邀月会说明原因。

Eclipse 3.6

Axis2_Codegen_Wizard_1.4.1插件,配置见上文 Java与WCF交互(一):Java客户端调用WCF服务

假定以上环境都OK

2、Services 服务端应用程序

在Eclipse中新建一个java project,名为JavaServiceForWCFClient,如图:
邀月工作室

选择一个运行时库
邀月工作室

在src下新建一个package,如图:
邀月工作室

在该package下新建一个类HelloTimeForWCF,代码如下:

邀月工作室

请注意上图中:@WebService 的 使用。这称为 Annotation 或元数据,由 Java SE 5 中引入的 Web Services 元数据规范 (Web Services Metadata Specification) 所使用。开发人员在对类和方法应用 Annotation 之前定义类和方法,以向运行时引擎指明如何将类及其方法作为 Web Services 和 Web Services 操作来启用。Java SE 6 附带了这样一个引擎。@WebService Annotation 将 SayHello 类标记为实现某个 Web Services ,从而产生可部署的 Web Services 。这个特定的 Annotation 是一个 WSDL 映射 Annotation,并将 Java 源代码与表示 Web Services 的 WSDL 元素相关联。(注:本段内容来自IBM官方网站,https://www6.software.ibm.com/developerworks/cn/education/webservices/ws-eclipse-javase1/section3.html )

下一步,就是Ant工具大派用场的时候了,

在项目根路径下新建一build.xml,内容如图:

邀月工作室

以"Ant Build"方式运行该文件:
邀月工作室

应该在控制台收到如下信息:
邀月工作室

以上信息,表明ant创建成功!此时,刷新项目视图,应该得到如图所示的结果,其中黄色部分为刚生成的内容:
邀月工作室

在package中新增一个主类,是否感觉有点像WCF中的Host引擎?其实作用就是如此。

邀月工作室

其内容如下:
邀月工作室

运行程序,就如同运行WCF中的Host:


邀月工作室

可以用内部的浏览器来浏览这个地址:http://localhost:8080/JavaServiceForWCFClient?wsdl

邀月工作室

至此,Java web端部署完成。


第二步:建立本地WCF客户端,调用第一步生成的web service

新建一个普通的控制台项目,名为 WCFClientFromJava,, 并按下图所示使用SvcUtil命令:(Svcutil.exe,ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档。ServiceModel 元数据实用工具可在 Windows SDK 安装位置中找到,一般位置为 C:/Program Files/Microsoft SDKs/Windows/v6.0/Bin)


邀月工作室

生成后,将生成的文件包含在项目中,项目结构如下:
邀月工作室

生成的app.config文件如下:
邀月工作室
此时,在program.cs文件中添加如下方法:
邀月工作室

至此,WCF客户端调用Java Web service成功!

小结,这是一个很简单的demo,主要技术点在于:

1、@Webservice的使用,参看 http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

2、SvcUtil的使用,参看MSDN: http://msdn.microsoft.com/zh-cn/library/aa347733%28VS.90%29.aspx

本文参考:

使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序,第 1 部分: Web Services 服务端应用程序

https://www6.software.ibm.com/developerworks/cn/education/webservices/ws-eclipse-javase1/section3.html

Introducing JAX-WS 2.0 With the Java SE 6 Platform, Part 1

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/


邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn
   

 
分享到:
评论

相关推荐

    远程WCF实现客户端调用服务端方法.rar

    WCF通信预先客户端直接主动调用服务端的方法,从而获取服务端方法执行的结果;从而判断服务端方法执行是否成功。例如:运动控制与视觉进行通信,以前以TCP通信进行交互,需要过多的判断;而采用WCF通信,就允许运动...

    Oracle和WCF交互信息示例

    Oracle和WCF交互信息示例,详细介绍Oracle和WCF的交互,并有部分实例。

    WCF模块服务框架+WCF模块服务托管程序MSH

    利用通道上下文可以方便地在调用 WCF服务时传递额外数据,使客户端与服务器端的交互更加灵活3、支持动态加载和卸载模块服务,利用这个特点,你可以快速部署并使用你的WCF服务4、支持模块服务被托管和调用时进行令牌...

    跨平台iPhone中调用WCF服务

    跨平台iPhone中调用WCF服务,一些复杂的逻辑处理放到服务端实现,客户端与服务端通过XML交互,在iPhone客户端解析XML通过cocoa展示数据。由于iPhone和DoNet是两个完全不同的平台。iPhone依靠mac系统平台,donet依赖...

    安卓网站交互JSONxmlWebserviceUPnP相关-Android通过getpost方式客户端与服务器端交互实例一个简单的demo在客户端中输入参数传给服务器端并打印出来.zip

    Android通过get,post方式客户端与服务器端交互实例,一个简单的demo,在客户端中输入参数,传给服务器端并打印出来.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    WCF服务编程中文版

    什么是 WCF Windows 通信基础( Windows Communication Foundation, WCF)是基于 Windows 平 台下开发和部署服务的软件开发包( Software Development Kit, SDK)。 WCF 为服务 提供了运行时环境( Runtime ...

    Silverlight 入门教程

    (14):数据与通信之WCF (15):数据与通信之ASMX (16):数据与通信之JSON (17):数据与通信之ADO.NET Data Services (18):综合实例之RSS阅读器 (19):如何在Silverlight中与HTML DOM交互(上) ...

    jQuery实现ajax调用WCF服务的方法(附带demo下载)

    主要介绍了jQuery实现ajax调用WCF服务的方法,以完整实例形式分析了jQuery的ajax前端调用及后台交互调用WCF服务的相关技巧,并附带完整实例共读者下载,需要的朋友可以参考下

    一步一步学Silverlight_2系列

    Silverlight 2系列(33):Silverlight 2应用Web Service两例 Silverlight 2系列文章 Silverlight 2系列(32):图形图像综合实例—“功夫之王”剧照播放 Silverlight 2系列(31):图形图像综合实例—实现水中倒影...

    一步一步学Silverlight 2系列

    Silverlight 2系列(33):Silverlight 2应用Web Service两例 Silverlight 2系列文章 Silverlight 2系列(32):图形图像综合实例—“功夫之王”剧照播放 Silverlight 2系列(31):图形图像综合实例—实现水中倒影...

    一步一步学习 iOS 6 编程(第四版)

    第二十部分:iPhone App 和 RESTFul WCF 服务以及 SQL Server 数 据库的交互 第二十一部分:改善 HelloKittyStore 应用程序 UI 和增强功能 第二十二部分:UIAlertView 提醒视图和 UIActionSheet 操作表 第二十三部分:...

    一步步学IOS5编程完整版

    第二十部分:iPhone App和RESTFul WCF 服务以及SQL Server数据库的交互 第二十一部分:改善HelloKittyStore应用程序UI和增强功能 第二十二部分:UIAlertView提醒视图和UIActionSheet操作表 第二十三部分:读写应用...

    一步一步学习IOS6

    第二十部分:iPhone App和RESTFul WCF 服务以及SQL Server数据库的交互 第二十一部分:改善HelloKittyStore应用程序UI和增强功能 第二十二部分:UIAlertView提醒视图和UIActionSheet操作表 第二十三部分:读写应用...

    一步一步学习_iOS_6_编程(第四版)

    第二十部分:iPhone App和RESTFul WCF 服务以及SQL Server数据库的交互 第二十一部分:改善HelloKittyStore应用程序UI和增强功能 第二十二部分:UIAlertView提醒视图和UIActionSheet操作表 第二十三部分:读写应用...

    Silverlight与数据库交互示例

    SilverLight目前已经成为互联网应用当中的终点,其本身具有的巨大市场...同时为了配合微软最新的.NET 3.5技术,这个例子还将使用微软的LINQ数据源作为数据集合的基础,使用WCF进行远程的数据访问,从而实现分布式调用

    亮剑.NET深入体验与实战精要3

    7.6.2 通过Microsoft.XMLDOM调用Web Service 291 7.6.3 XMLHTTP POST调用Web Service 293 7.6.4 SOAP调用Web Service 293 7.7 WinForm如何调用Web Service 295 7.7.1 .NET的WinForm调用Web Service 295 7.7.2 手动...

    .Net.Framework3.5开发技术详解[中文][共二卷][PDF][VOL2]

    12.5 编写WCF客户端 277 12.6 配置WCF程序 279 12.6.1 服务端配置 279 12.6.2 客户端配置 283 12.6.3 配置工具 284 第13章 WCF中的消息交换 285 13.1 与通信有关的概念 285 13.1.1 Address(地址) 285 13.1.2 ...

    .Net.Framework3.5开发技术详解

    12.5 编写WCF客户端 12.6 配置WCF程序 12.6.1 服务端配置 12.6.2 客户端配置 12.6.3 配置工具 第13章 WCF中的消息交换 13.1 与通信有关的概念 13.1.1 Address(地址) 13.1.2 Bindings(通信绑定) 13.1.3 ...

    亮剑.NET深入体验与实战精要2

    7.6.2 通过Microsoft.XMLDOM调用Web Service 291 7.6.3 XMLHTTP POST调用Web Service 293 7.6.4 SOAP调用Web Service 293 7.7 WinForm如何调用Web Service 295 7.7.1 .NET的WinForm调用Web Service 295 7.7.2 手动...

Global site tag (gtag.js) - Google Analytics