编程爱好者联盟 2016-11-27
使用Eclipse自带的Axis 1.x来创建一个web service应用的服务端和客户端
Axis 是SOAP WebService协议实现,SOAP实质上是一个基于HTTP POST的请求,以XML的格式来传递请求参数
环境是Eclipse Mars.2 JDK版本是1.8
从java source中生成wsdl文件 1.1 在Eclipse中新建一个工程,java project或者 Dynamic Web Project都可以。
1.2 在工程中,新建一个package,在package下新建一个接口,以及请求实体和响应实体。接口中定义方法,并实现接口
1.3 选中接口的实现类,右键 -> Web Services -> Create Web Service (也可以直接在工程上右键 -> new -> other -> Web Service )
1.4 将左边蓝色按钮拖到 develop选项,然后选择 next ,这种方式会默认选择方式为 bottom up java bean web service, implementtation就是选中的接口的实现类。
1.5 上面一步,继续选择next,之后会将Axis的jar包和一些其他的相关jar包copy到项目中,并且在WebContent中生成一些文件,WSDL WSDD文件等 然后直接选择finish,不要launch。
1.6 完成后,可以看到在webcontent的目录下,多出这些东西
其中 wsdl文件用于生成 SOAP的server-end和client-end,wsdd文件,用于部署我们的webservice
2 生成 Web Service的 Server-End代码 生成server端代码时,可以新建一个工程,也可以在这个工程中把之前的实体类和接口以及接口实现类都删掉,再去生成服务端代码 2.1 将wsdl文件放到src下,选中右键 -> web services -> Generate Java Bean Skeleton 然后直接 next 然后 next finish
2.2 在SoapBindingImpl这个类中,实现自己的代码逻辑。 3 发布Web Service 需要将wsdd文件放到和web.xml同级目录下,也就是WEB-INF下,改名为 server-config.wsdd,这样在tomcat中启动工程,就可以发布了 查看是否发布成功,直接在浏览器访问 http://ip:port/services/serverName serverName就是接口实现类的名。
4 生成 Client-End代码 同样使用这个wsdl文件,右键 ->Web Services -> Generate Client 然后,调成develop模式,next next finish
在Proxy中实现自己的代码逻辑