jax-ws服务端生成和客户端调用实例详解

 

长时间不写博客,照片都忘记怎么上传了,由于上一篇图片没有上传,所以删掉,重做了一个。

 

最近公司让基于别的公司的接口写一个自己的接口,接口对于别的公司来说相当于客户端,但对于自己本公司要调用的程序来说,又相当于服务端。

闲来无事,总结下。

先从java自带的service开始

JAX-WS(java api xml webservice)  基于javaAPI的webService实现

用的工具是myeclipse

首先是服务端

新建webProject  jax-wsServer  如图:

jax-ws服务端生成和客户端调用实例详解_第1张图片

新建包和类如下图

jax-ws服务端生成和客户端调用实例详解_第2张图片

既然是入门例子,咱就越简单越好,关键看好流程

IMService.java 内容如下

package com.jax.server;
public interface IMyService {
public int add(int a,int b);
public int minus(int a,int b);
}

MyServiceImpl.java内容如下

package com.jax.server;
public class MyServiceImpl implements IMyService {
public int add(int a, int b) {
// TODO Auto-generated method stub
return a+b;
}
public int minus(int a, int b) {
// TODO Auto-generated method stub
return a-b;
}
}

以上基本准备工作就算完成了,下边是应用MyEclipse具体生成的步骤。

1 右键 src-new others,选择web service  如图:

jax-ws服务端生成和客户端调用实例详解_第3张图片

2.单击下一步,选择用JAX-WS方式,从java类创建,如图:

jax-ws服务端生成和客户端调用实例详解_第4张图片

3.点击Next,选择要用到的类,就是我们刚才创建的MyServiceImpl,要是实体类。

选择在工程中生成wsdl,如图:

jax-ws服务端生成和客户端调用实例详解_第5张图片

点击Finish。

4.右键工程,选择Properties,选择"Java Build Path",然后选择"Libraries",如图:

jax-ws服务端生成和客户端调用实例详解_第6张图片

5.点击 Add Libraries,选择 MyEclipse Libraries,如下图:

jax-ws服务端生成和客户端调用实例详解_第7张图片

6.点击Next,选择 JAX-WS,如图:

jax-ws服务端生成和客户端调用实例详解_第8张图片

7.点击Finish,如下图:

jax-ws服务端生成和客户端调用实例详解_第9张图片

8.点击OK,工程结构如下图:

jax-ws服务端生成和客户端调用实例详解_第10张图片

9.至此,服务端程序生成完毕,部署到Tomcat下,启动Tomcat,访问地址

http://localhost:8080/jax-wsServer/MyServiceImplPort?wsdl,如下图

jax-ws服务端生成和客户端调用实例详解_第11张图片

出现如上图所示的wsdl页面了,说明本地服务已经启动,可以访问了。

对外地址是http://localhost:8080/jax-wsServer/MyServiceImplPort?wsdl

命名空间targetNamespace="http://server.jax.com/"

服务名 portType name="MyServiceImplDelegate"

提供两个方法  add和minus

这样完整的WebService服务端,就配置并发布完成了。


下边是jax-ws服务端的生成和调用方式。

1.可以新建工程(由于是测试,为了省事,这里和server用一个工程),右键src,选择web Service Client,如图:

jax-ws服务端生成和客户端调用实例详解_第12张图片

2.选择web Service Client,点击Next,如下图:

jax-ws服务端生成和客户端调用实例详解_第13张图片

 

3.点击Next,指定访问的webService的路径,就是我们刚才访问的地址,指定客户端文件的包,如图:

jax-ws服务端生成和客户端调用实例详解_第14张图片

 

4.点击Next,如下图:

jax-ws服务端生成和客户端调用实例详解_第15张图片

5.Finish完成,客户端文件生成完毕,结构如下:

jax-ws服务端生成和客户端调用实例详解_第16张图片

6.编写测试类TestClient,代码如下

package com.jax.client;
public class TestClient {
public static void main(String []arg){
//服务的具体类,继承了service类
MyServiceImplService service=new MyServiceImplService();
//服务的接口,通过getPort()方法得到
MyServiceImplDelegate se=service.getPort(MyServiceImplDelegate.class);
//通过服务的接口调用方法
int add=se.add(34, 23);
int minus=se.minus(34, 23);
System.out.println("34+23="+add);
System.out.println("34-23="+minus);
}
}

7.运行结果如下:

jax-ws服务端生成和客户端调用实例详解_第17张图片

到此完整的关于 JAX-WS的服务端、客户端的生成调用的整个过程就完成了,与大家一起学习、共勉。

后续会还有CXF的详细过程。

 

 

 

你可能感兴趣的:(WebService)