webservice 作为服务端的开发

来,我们理下思路先,

对方发送数据给我们之前,

我们的方法全部都已经写好了,同时也包括实体,或者封装的 bo 以及返回类型,

对方需要按照我们的需求给我们发送数据,

所以,

我们要做的就是把这些需求发送给对方。

 

so,

下面这些步骤就是完成这个工作的。

    

按照我们常规的套路,基本结构为:

entity(或者用 po 保存数据后,再将其写入数据库)——dao——接口——实现类——controller——jsp,

这里,我们主要会用到接口以及其实现类(包括对接收到的数据的处理,及返回处理成功与否的返回值)

   

** 一、配置相关 **

1. 通过 uma-unimax-web 模块下 web.xml 配置文件配置 servlet,配置如下(可参考常州北汽项目对应配置)

截图.png

 

2. 通过 unimax-a-webservice.xml 配置对应的 service 服务,配置如下(具体可以查看北汽常州项目配置文件,unimax-a-webservice.xml)

图片.png

特别注意:这个 id 实际上就是一个 id 没有啥对应关系 address 也不是相对路径 而是将来 url 里?前面的 cxFMrlWebService,

2. 对应实现类需要加上注释(@WebService(endpointInterface = “com.epichust.unimaxmes.pplan.interfaces.BomWebService”)),如下

图片.png

 

通过以上配置,客户调用我方的接口,url 为:

http://xxxx:yyyy/zzzz/ws/cxFMrlWebService?wsdl”;

其中“xxxx”:服务器所在电脑 ip

“yyyy”:服务器应用端口

“zzzz”: 服务器应用名

“ws”:web.xml 配置文件中的 url-pattern

“cxFMrlWebService”:unimax-a-webservice.xml 配置文件中所配的 address

“?wsdl”:公用标准

   

好了,接下来给各位介绍个简单方法,将上面 url 放入浏览器,然后,右键,另存为,文件名后缀改为.wsdl

 

ok,

wsdl 文件生成完毕,

now,

你可以把 WSDL 文件给对方了。

  

by the way,

有兴趣可以了解一下下面的方式生成 WSDL。

    

二、将文件 Java2WSDL.java 放入项目(建议放在实现类同一包下,同时该模块下需要引用 jar 包 cxf-2.6.16.jar)

 

Java2WSDL.java 中最后几行代码如下,此处的实现类与配置文件 unimax-a-webservice.xml 统一为要 使用到对方传入的数据的 实现类

截图.png

  

运行该类

 
图片.pngJava2WSDL.java

  

运行完成之后,刷新项目,Java2WSDL.java 所在模块下,会新生成一个文件夹(名为 resource),该文件夹下就是生成的 WSDL 文件

 

对方调用的方法名即该实现类的方法名,

将 wsdl 文件、实体(或者 po)各个字段类型、方法名与对方交互,over