Java客户端调用WCF服务

xwh@open

贡献于2013-08-07

字数:3129 关键词: Java开发 Java

 Java客户端调用WCF服务 一 编程环境及安装 1.所需编程环境 WCF服务侧编程: VS2008 Java客户端编程:MyEclipse 8.6 2.MyEclipse 8.6的安装 下载方法: MyEclipse 8.6下官方下载地址: http://downloads.myeclipseide.com/downloads/products/eworkbench/galileo/myeclipse-8.6.0-win32.exe 请注意此网址无法直接访问,请直接复制上面的网址然后在迅雷等下载软件中点击[新建]进行下载。 破解: 注册码: Subscriber:        spring Subscription Code:    fLR8ZF-655333-66678657672229507 注册步骤: help->Myeclipse Config Center 然后切换到Subscription卡页,点击edit按钮输入上面提供的内容,点Apply就可以了。 注意:注册过程中请保证电脑可以正常访问网络,如果出现防火墙阻止myeclipse访问网络的情况请一定点击允许,否则无法注册. 二 WCF服务编程 1.WCF服务类的建立 1)在VS2008下创建一个类库项目,名称为ClassAdd,所在解决方案名称为ygWCF2JAVA。 2)在ClassAdd项目下,添加一个新建项,类型为WCF服务,服务名称为ServiceAdd,系统将自动生成IServiceAdd.cs和ServiceAdd.cs两个文件。 3)为IServiceAdd.cs添加以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; namespace ClassAdd { // 注意: 如果更改此处的接口名称 "IServiceAdd",也必须更新 App.config 中对 "IServiceAdd" 的引用。 [ServiceContract] public interface IServiceAdd { [OperationContract] double CalculateItems(double x, double y, double z); } } 4)为ServiceAdd.cs添加以下代码 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; namespace ClassAdd { // 注意: 如果更改此处的类名 "ServiceAdd",也必须更新 App.config 中对 "ServiceAdd" 的引用。 public class ServiceAdd : IServiceAdd { public double CalculateItems(double x, double y, double z) { return x + y + z; } } } 2.WCF服务发布项目的建立 1)在解决方案ygWCF2JAVA下,添加一个新建ASP.NET WEB 应用程序项目,名称为AppAdd。 2)在AppAdd下,添加对ClassAdd项目的引用。 3)在AppAdd项目下,新建一个文件夹为WCFAdd,在该文件夹下添加一个新建项,类型为WCF服务,名称为ServiceAdd.svc。(注意,此服务与ClassAdd项目下的ServiceAdd是不同的,取名与前者无关) 4)删除WCFAdd文件夹下除了ServiceAdd.svc外的其他文件,并双击ServiceAdd.svc,并将代码改为以下内容: <%@ ServiceHost Language="C#" Debug="true" Service="ClassAdd.ServiceAdd" %> 这样,就将ServiceAdd.svc中的服务与ClassAdd中的ServiceAdd关联起来。 5)修改AppAdd下的Web.config中system.serviceModdel部分为以下内容: 3.将AppAdd网站部署于IIS,从而实现ServiceAdd.svc在IIS的寄宿。 这里,假设网站AppAdd使用8883端口。若需打开ServiceAdd.svc服务,可在IE地址栏输入 http://localhost:8883/WCFAdd/ServiceAdd.svc 三Java客户端编程 1.在MyEclipse8.6下新建一个Web Service项目,这里Framework使用JAX-WS,J2EE specification使用Java EE 5.0。 2.在ygwcf项目下,新建一个Web Service Client,用来从WCF服务的WSDL文件将服务添加到java侧。这里需要在new——other——MyEclipse——Web Service——Web Service Client下添加,具体如下图所示: 在WSDL URL上输入服务的路径,并为服务添加一个Java pagckage包javawcf,点击完成,这样WCF服务便可成功加入到客户端。 3.在ygwcf/src下新建一个测试类,用于对引入的服务进行测试,类名为mytest,测试代码文件为testyg.java。方法如下: 4.在test.java中输入以下代码: package mytest; public class testyg { public static void main(String[] args){ javawcf.ServiceAdd service1=new javawcf.ServiceAdd(); javawcf.IServiceAdd Iservice1=service1.getBasicHttpBindingIServiceAdd(); System.out.println(Iservice1.calculateItems(2.0,2.0,4.0)); } } 5.编译ygwcf项目,并以Java Application方式运行,结果如下 可见,console控制台输出结果为8.0,结果正确,服务调用成功。

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档