用WSDL生成服务端和客户端

现在有以下需求:

A系统以前是经常与C系统合作的,他们之间的webservice通讯已经成熟,我方作为B系统,与A,C系统间均通过webservice通讯,目前A系统无法访问C系统了,需要我们的B系统提供给A一个webservice的服务,且返回给A系统的内容需要与A直接访问C系统获取的内容要一致。

处理方案如下:

获取C系统提供给A系统的WSDL,用此WSDL生成B系统访问C系统的客户端,同时生成提供给A系统的服务端(同一个WSDL即生成服务端,也生成客户端)

  1. WSDL生成服务端

工具为Eclipse

用WSDL生成服务端和客户端

新建一个web工程

用WSDL生成服务端和客户端

自动生成web.xml文件

用WSDL生成服务端和客户端

将A系统的WSDL放到B系统工程的根目录下

用WSDL生成服务端和客户端

右键WSDL生成服务端

 

用WSDL生成服务端和客户端

下一步

用WSDL生成服务端和客户端

放置该文件

用WSDL生成服务端和客户端

正常生成后可以启动server

用WSDL生成服务端和客户端

点击下一步,然后完成

用WSDL生成服务端和客户端

用WSDL生成服务端和客户端

查看访问链接

用WSDL生成服务端和客户端

在浏览器中访问,结果如下

用WSDL生成服务端和客户端

 

 

 

2,WSDL生成客户端,访问C系统

 

  1. 新建一个Java工程
  2. 创建webservice客户端

用WSDL生成服务端和客户端

 

 

 

拷贝C系统的WSDL

用WSDL生成服务端和客户端

下一步

用WSDL生成服务端和客户端

下一步

用WSDL生成服务端和客户端

点击完成

用客户端测试访问C和B的服务,只需修改URL即可

用WSDL生成服务端和客户端

 

 

用WSDL生成服务端和客户端

 

断点调试查看运行情况:

用WSDL生成服务端和客户端

测试结果

用WSDL生成服务端和客户端

到此已完成用C系统的WSDL即生成访问C系统的客户端,有提供给A系统访问B系统的服务(与A系统直接访问C系统一样的效果)