上篇博客给大家整理了WebService的基本概念及组成元素,对概念或原理还不太清楚的可以去看看。
这篇我们用Intellij IDEA来搭建一个WebService,并看看如何请求。
首先,new project, 选择WebService项目,并选择Apache Axis:
点击next,随便去个项目名称,比如webservice。
finish之后,会有一些示例文件,默认有一个HelloWorld类,这个类里面有个方法sayHelloWorldFrom(String from)
这是一个很简单的java方法,我们通过这个简单的java方法来看看WebService的结构和用法。
在这个类里面右键 -> WebService 生成wsdl文件:
生成好了之后,在HelloWorld.java同一个包下有一个.wsdl文件,打开这个文件。
这个WSDL由五个部分组成,分别是service, binding, portType, message, types.
service里面主要描述这个服务接口路径,相当于REST里面定义了一个API:
binding里面将Request和Response与SoapAction绑定到了一起:
端类型里面描述了这个接口(方法)的输入端(Request message)和输出端(Response message) 以及参数。
message里面定义的是Request的请求参数 和 Response的响应类型
types里面基本就是把请求和响应的类型给罗列出来了,一直描述到基本数据类型。
OK,现在请配置一下Tomcat,并将项目部署到Tomcat。注意,手动给项目加入这个依赖,不然访问会报错的。
在浏览器访问HelloWorld的wsdl:
请求WebService
wsdl只是接口的描述语言,现在我们可以根据这些描述来封装SOAP请求了。
打开PostMan,或者SOAPUI以及其他Rest客户端。
Request Headers:
SoapAction: (留空即可)
Content-Type: application/xml
Request Body:(请遵守SOAP规范)
Hello, world, from My WS Test
OK,请求成功,看到刚才接口的返回了。
可以试试定义更加复杂的参数或返回类型,里面加入更多的业务处理。