实验环境的搭略
生成WSDL文件如下所示:
新建java project——SimpleService
新建wsdl文件——SimpleService.wsdl
Wsdl Code显示如下:
更改服务端口为:http://localhost:8080/axis2/services/SimpleService,并将方法名改为:concat
Input element:
Output element:
校验WSDL文件
生成服务桩
Refresh:
报错:导入lib中的jar文件:
为了实现服务,更改SimpleServiceSkeleton.java文件如下:
部署web服务
在C:\axis\repository\services中新建SimpleService文件夹(代表一个服务),并在C:\axis\repository\services\SimpleService中新建META-INF文件夹,将工程中resources中的
services.xml以及SimpleService.wsdl导入META-INF中,最后将工程中bin下的com文件拷贝到C:\axis\repository\services\SimpleService中,如下所示:
启动axis2server.bat,服务部署成功:
打开浏览器,查看服务:
用客户桩产生客户端:
新建SimpleClient类:
实施并运行web服务。
取消(收回)web服务
删除C:\axis\repository\services中的SimpleService:
如果再次拷贝过去,直接部署成功:
如果不写客户桩行吗?
因为当我们访问web service中的一个方法时,stub 会把程序中的Java 对象数据转化为适当的XML格式的SOAP,并在SOAP中创建请求消息,然后通过Internet使用适当的传输协议 (HTTP)把其(soap)发送到正确的endpoint(端点).当有响应到来时,stub把XML格式的消息再转化为Java对象数据,并将其返回给你。如下图所示:
客户桩不是必须的,不写也可以。