其次是使用SOAP协议实现:有时需要其它语言做服务端,java做客户端,就要用到SOAP获取WebService了
SOAP简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在WEB上交换结构化的和固化的信息
这里演示的例子服务端和客户端都是java
首先从网站http://xml.apache.org/soap/index.html下载soap,解压得到soap.war
把soap.war放到Tomcat\webapps\目录下
(1)、新建一个Web项目(服务端)名为SoapService
(2)、编写服务端代码HelloWorldService.java
编写完成后,将HelloWorldService发布jar到Tomcat\lib\目录中
(3)、SOAP服务的发布
启动Tomcat自动将soap.war解压,访问http://localhost:8080/soap/admin/,会出现soap的管理页面
注意:这里会出现错误是因为在Tomcat\lib\目录下缺少sun的mail.jar
进入Deploy,填写如下信息:
ID: hello
Scope: Request
Methods getMessage
Provider Type: Java
Java Provider Provider Class: HelloWorld.HelloWorldService
Java Provider Static: NO
确认发布,可以点List查看已发布服务!
(4)、再建一个Web项目(客户端)名为SoapClient
为工程增加4个jar文件:xerces、soap、activation、mail
(5)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为HelloWorldClientServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
SOAP简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在WEB上交换结构化的和固化的信息
这里演示的例子服务端和客户端都是java
首先从网站http://xml.apache.org/soap/index.html下载soap,解压得到soap.war
把soap.war放到Tomcat\webapps\目录下
(1)、新建一个Web项目(服务端)名为SoapService
(2)、编写服务端代码HelloWorldService.java
- package HelloWorld;
- /**
- * <p>Title: HelloWorldService</p>
- * <p>Description: 服务端</p>
- */
- public class HelloWorldService {
- public String getMessage(){
- return "Hello World!!!";
- }
- public String getMessage(String str1, String str2) {
- return "Hello World! " + str1 + "&" + str2;
- }
- }
编写完成后,将HelloWorldService发布jar到Tomcat\lib\目录中
(3)、SOAP服务的发布
启动Tomcat自动将soap.war解压,访问http://localhost:8080/soap/admin/,会出现soap的管理页面
注意:这里会出现错误是因为在Tomcat\lib\目录下缺少sun的mail.jar
进入Deploy,填写如下信息:
ID: hello
Scope: Request
Methods getMessage
Provider Type: Java
Java Provider Provider Class: HelloWorld.HelloWorldService
Java Provider Static: NO
确认发布,可以点List查看已发布服务!
(4)、再建一个Web项目(客户端)名为SoapClient
为工程增加4个jar文件:xerces、soap、activation、mail
(5)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为HelloWorldClientServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
- package HelloWorld;
- import java.io.IOException;
- import java.net.URL;
- import java.util.Vector;