加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

websercie框架简单入门

发布时间:2020-12-16 23:33:34 所属栏目:安全 来源:网络整理
导读:1、WebService工作原理-SOAP ?????? 当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应

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);
???}
??}
??

????????????? 运行结果如下

?????????????

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读