​MyEclipse2014发布webservi…

来源:互联网 发布:ajax传递json对象实例 编辑:程序博客网 时间:2024/06/08 15:29

主要参考文章:http://www.cnblogs.com/lee0oo0/archive/2013/01/25/2876357.html

主要流程如下:

1、下载​MyEclipse2014

百度一下即可,网上有中文破解版

2、新建一个webservice工程

注意选择jax-ws和jax-rs(rest)有较大的区别,建议选择jax-ws​,更加傻瓜,便于上手。​

3、新建一个java类,写一段代码

 举例如下:​

packagewebservice_jax_ws;

publicclass helloworld {

// 以jax-ws的形式创建web service,并发布到tomcat上

public String getMyName(){

return "chen";

}

public float add(float a,float b){

return a+b;

}

}


4、​部署到tomcat上

​MyEclipse2014发布webservice项目填写图片摘要(选填)

点击上方图标,​选择这个newweb service, 选择从java类中创建web service,进入下一个界面,选择generatewsdl in project,其余默认即可。

然后启动tomcat,我选择的是tomcat7,启动成功后点击上方图标中的部署项目,

​MyEclipse2014发布webservice项目

即可将刚才的webservice发布到tomcat上,如下;

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​可以在控制台边上的server中进行tomcat和项目的启动、重新部署等操作,右键项目可以打开open inbrowser,打开平台自带的浏览器,或者自己打开电脑上的浏览器,输入图片中的网址,可以看到欢迎界面。

我们在上面的网址后面加上helloworldPort(就是你的java类名+Port),选择进入。就可以看到下面的界面:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​这就说明webservice发布成功了,点击wsdl可以看到项目信息。下面我们来看看刚才的2个方法在网页上的演示效果:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​点击这个按钮,打开webservice测试服务,

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​一开始进入的是UDDI的界面,点击右上角的WSDL page,进入WSDL界面:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​测试一下我们的加法函数,输入2个变量的值,点击go,下方会显示方法的返回值。

到此,项目在tomcat的部署工作已经完成​​。下面讲一下如何在本地调用服务器上的webservice

​5、本地调用webservice服务

首先新建一个java工程,注意,此时不需要webservice工程了,只要一个普通的java工程即可。还是选择工具栏上的如下图标:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​这次不选择web service 了,而是选择web serviceclient,即客户端应用。一路next,进入如下界面:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​在WSDLURL中选择刚才发布上去的网址,注意tomcat服务器必须保持开启状态,也就是此网址必须能够接通,否则将无法连接应用。如果服务器已经断开,那么之前保存在本地的wsdl文件就派上用场了

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​我们可以选择使用wsdlfile进行连接,找到上一个项目的地址,在webROOT\web-inf中找到之前保存的wsdl文件,也可以成功连接上。

连接完成后,会在当前项目下出现上一个项目的package:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​如图所示,我们只需要引入之前的包中类,注意helloworld这个类已经没有了,取而代之的是 helloworldService和 helloworldDelegate 这2个类,我们调用原先helloworld这个类中的方法时,需要先将 helloworldService实例化。

然后在用​helloworldService中的 gethelloworldPort()这个方法来实例化 helloworldDelegate这个类。最终原先类中的2个方法都属于 helloworldDelegate中。

代码如下:

packageclient_jax_ws;

importwebservice_jax_ws.HelloworldDelegate;

importwebservice_jax_ws.HelloworldService;

publicclass test_webservice_on_client {

// 从tomcat上得到相关的web service

public static void main(String[] args) {

// TODO 自动生成的方法存根

// 需要要实例化service,在用 getPort 方法实例化代理服务

HelloworldService myservice = new HelloworldService();

HelloworldDelegate abc = myservice.getHelloworldPort();

System.out.println(abc.getMyName());

System.out.println(abc.add(1.2f, 2.5f));

}

}

运行后控制台成功打印结果如下:

​MyEclipse2014发布webservice项目填写图片摘要(选填)

​有一点问题就是,上图中的结果是我在使用wsdl url连接得到的,如果使用本地的wsdl file进行连接,则会报错,目前还不清楚是什么原因

0 0