WCF服务与Java客户端集成指南

在现代软件开发中,跨语言和平台的服务集成变得越来越重要。Windows Communication Foundation (WCF) 是一个框架,它允许开发者构建服务导向的应用程序。本文将介绍如何创建一个WCF服务,将其托管在Internet Information Services (IIS)中,并使用Java客户端应用程序进行调用。

创建WCF服务

要创建一个WCF服务,请按照以下步骤操作:

1. 打开Visual Studio 2012。

2. 通过文件菜单选择新建项目。

3. 选择类库项目,命名为“CalculatorService”,然后点击确定。

4. 删除自动生成的Class1.cs文件。

5. 右键点击CalculatorService项目,选择添加,然后点击新建项。

6. 选择WCF服务,并为其命名“CalculatorService”,点击添加按钮。

7. 修改ICalculatorService.cs文件,如下所示:

using System.ServiceModel; namespace CalculatorService { [ServiceContract] public interface ICalculatorService { [OperationContract] int Add(int num1, int num2); } }

8. 修改CalculatorService.cs文件,如下所示:

namespace CalculatorService { public class CalculatorService : ICalculatorService { public int Add(int num1, int num2) { return num1 + num2; } } }

9. 构建解决方案,可以通过按[CTRL]+[SHIFT]+b快捷键或通过构建菜单选择构建解决方案选项。

在IIS中托管WCF服务

要将WCF服务托管在IIS中,请按照以下步骤操作:

1. 在IIS中添加一个新的网站来托管Calculator服务。

2. 通过文件菜单选择添加,然后点击新建网站。

3. 选择WCF服务,并为其提供一个合适的名称,例如“CalculatorServiceIISHost”,然后点击确定。

4. 新的网站将被添加,包含一个服务类(Service.cs)和一个接口(IService.cs)在App_Code文件夹中,以及一个Service.svc文件。

5. 由于服务已经创建,删除自动创建的服务类(Service.cs)和接口(IService.cs)从App_Code文件夹。

6. 右键点击CalculatorServiceIISHost项目,选择添加引用,然后选择CalculatorService,点击确定。

7. 打开Service.svc文件,删除CodeBehind属性。

8. 修改Service属性,如下所示:

<%@ ServiceHost Language="C#" Debug="true" Service="CalculatorService.CalculatorService" %>

9. 修改web.config文件,包含以下设置:

<system.serviceModel> <services> <service name="CalculatorService.CalculatorService" behaviorConfiguration="mex"> <endpoint address="CalculatorService" binding="basicHttpBinding" contract="CalculatorService.ICalculatorService"/> <host> <baseAddresses> <add baseAddress="http://localhost:8080/"/> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name="mex"> <serviceMetadata httpGetBinding="true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>

10. 现在服务已准备好在IIS中托管。

11. 打开IIS,右键点击默认网站,选择添加应用程序。

12. 输入别名名称“calculator”,选择服务的物理路径,然后点击确定。

13. 如下所示启用匿名认证:

14. 转到内容视图,右键点击Service.svc,然后点击浏览。

在Java客户端中使用WCF服务

要使用Java客户端调用WCF服务,请按照以下步骤操作:

1. 使用Eclipse Indigo和Apache Tomcat 6创建一个新的动态Web项目。

2. 要创建一个WS客户端,请选择新建 >Web服务> 选择Web Service Client,然后点击下一步按钮。

3. 输入WCF服务的WSDL路径,然后点击完成按钮。

4. 这将自动生成WS代理的代码。

5. 创建一个简单的JSP页面,包含两个文本框和一个servlet来通过Web服务调用“add”方法。

6. 在WCFServlet的doPost()方法中编写以下代码来调用Web服务的“add”方法:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Integer input1 = Integer.parseInt(request.getParameter("input1")); Integer input2 = Integer.parseInt(request.getParameter("input2")); ICalculatorServiceProxy calService = new ICalculatorServiceProxy(); Integer result = calService.add(input1, input2); request.setAttribute("res", "The result is: " + result); RequestDispatcher rd = request.getRequestDispatcher("WSDemo.jsp"); rd.forward(request, response); }

7. 在同一个页面上显示结果:

WSDemo.jsp:

本文提供了创建WCF服务、在IIS中托管服务以及使用Java客户端应用程序调用服务的分步指导。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485