C#WinForm调用java WebService

C# WinForm 调用 java WebService

  1. 开发环境
    Webservice:Eclipse 2020 09 + jdk11 + Tomcat 9
    WinForm:VS2019

  2. WebService搭建
    打开Eclipse,File ->New -> Dynamic Web project
    在这里插入图片描述
    点击Next
    在这里插入图片描述
    继续点击Next
    在这里插入图片描述
    点击Finish完成。程序结构如下
    在这里插入图片描述
    项目建成后,我们先给项目添加一个类。右键项目,New -> class
    在这里插入图片描述
    点击Finish。我们发现在程序目录下有两个包
    在这里插入图片描述
    没关系,刷新一下Project Explorer(空白处右键,Refresh,或者按F5)就好了。
    在这里插入图片描述
    此时,我们在类里新建一个方法,此方法就是以后客户端要调用的方法。注意:方法名首字母要小写。
    在这里插入图片描述
    右键点击项目(也可以在类文件上右键),新建WebService。File -> New -> WebService(如果没有,可以在Other里找)
    在这里插入图片描述
    点击Next
    在这里插入图片描述
    如果Eclipse没有自动填充类名,可以通过Browse查找。点击Next,生成WSDL文件
    在这里插入图片描述
    点击Next
    在这里插入图片描述
    点击Start server,启动tomcat,启动完成后,一路Next。
    在这里插入图片描述
    Tomcat已经启动。我们可以在浏览器中输入WSDL地址,测试是否发布成功。
    在这里插入图片描述
    双击wsdl文件,可以查看发布地址
    在这里插入图片描述
    复制该地址到浏览器,显示如下信息,则发布成功
    在这里插入图片描述
    至此,WebService已经建立完成。

目前,仍有两点需要完善,待以后解决:
a、helloWord方法未抛出异常。
b、没有说明服务的发布过程。

  1. 建立客户端
    启动VS2019,新建WinForm项目,然后添加服务引用,服务地址为之前的wsdl地址。
    访问webservice代码如下
    在这里插入图片描述
    运行结果如下
    在这里插入图片描述
完整的服务端及客户端调用程序,在win7+ vs2015环境运行通过. 一、说明 1、创建winfrom应用程序;(或者是控制台项目) 2、在项目中添加一个WCF服务,并实现服务; 3、在需要启动WebService服务的地方启动该服务即可; 二、代码如下: 1、新建一个WCF服务——定义服务接口    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]     public interface ICalculator     {         [OperationContract]         double Add(double n1, double n2);     } 2、新建一个WCF服务——实现服务 public class CalculatorService : ICalculator     {         public double Add(double n1, double n2)         {             return n1 + n2;         }     } 3、添加完WcF服务后会在应用程序配置文件中有入下节点                             <!--TestServer.ICalculator服务定义的接口,根据自己定义进行修改-->                                                                   <baseAddresses> <!--这个是要发布的服务地址,可以进行修改-->                                   </baseAddresses>                   4、在要启动服务的地方启动服务监听   public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { try { //打开服务创建监听,并开始监听消息 ServiceHost serviceHost = new ServiceHost(typeof(Service1));//需要using System.ServiceModel; serviceHost.Open(); label1.Text = "服务启动正常"; } catch (Exception ex) { label1.Text = ex.Message; } } 5、下面可以在客户端通过上面的服务地址”http://xxx.xxx.xxx.xx:8733/test/Service1/“对服务进行调用 到这步就实现在控制台中实现webService的发布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值