-
1、WebService工作原理-SOAP
当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应的方法,方法执行完毕后,将返回结果再次包装为XML,也就是SOAP响应,发送到客户端,最后客户端解析这段XML,最终得到返回结果。
2、WebService实现
创建WebService 项目
创建WebService类
[java]
package service;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod(operationName="sayHello1")
public String sayHello(String userName)
{
return "Hello,"+userName+"!";
}
@WebMethod(operationName="sayHello2")
public String sayHello(){
return "Hello World!";
}
public static void main(String[] args){
//将WebService发布到指定地址
Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello",new Hello());
}
}
package service;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod(operationName="sayHello1")
public String sayHello(String userName)
{
return "Hello,"+userName+"!";
}
@WebMethod(operationName="sayHello2")
public String sayHello(){
return "Hello World!";
}
public static void main(String[] args){
//将WebService发布到指定地址
Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello",new Hello());
}
}编译Hello.java
测试WebService是否发布成功
使用wsimport 生成客户端
使用如下:wsimport -p client -keep
这时,会在当前目录中生成如下文件:
创建客户端类[java]
public class HelloClient {
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.sayHello1("世界");
System.out.println(hello);
String hello1 = helloProxy.sayHello2("");
System.out.println(hello1);
}
}
public class HelloClient {
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.sayHello1("世界");
System.out.println(hello);
String hello1 = helloProxy.sayHello2("");
System.out.println(hello1);
}
}
运行结果如下
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。