Java WebService入门实例

本文详细介绍了WebService的工作原理,包括SOAP协议的使用,并通过Java示例展示了如何创建、实现和发布WebService,以及如何使用wsimport生成客户端进行调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、WebService工作原理-SOAP

       当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应的方法,方法执行完毕后,将返回结果再次包装为XML,也就是SOAP响应,发送到客户端,最后客户端解析这段XML,最终得到返回结果。

2、WebService实现

       创建WebService 项目

              

       创建WebService类

[java]  view plain copy
  1. package service;  
  2.   
  3. import javax.jws.WebMethod;  
  4. import javax.jws.WebService;  
  5. import javax.xml.ws.Endpoint;  
  6.    
  7. @WebService  
  8. public class Hello {  
  9.       
  10.     @WebMethod(operationName="sayHello1")  
  11.     public String sayHello(String userName)  
  12.     {  
  13.         return "Hello,"+userName+"!";  
  14.     }  
  15.       
  16.     @WebMethod(operationName="sayHello2")  
  17.     public String sayHello(){  
  18.         return "Hello World!";  
  19.     }  
  20.     public static void main(String[] args){  
  21.         //将WebService发布到指定地址  
  22.         Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello"new Hello());             
  23.     }  
  24. }  


       编译Hello.java 
              


       测试WebService是否发布成功
              

              

       使用wsimport 生成客户端  
               使用如下:wsimport -p client -keep http://192.168.24.170:8080/WebServiceTest/Hello?wsdl
              
             这时,会在当前目录中生成如下文件:

              


       创建客户端类
[java]  view plain copy
  1. public class HelloClient {  
  2.             public static void main(String args[]) {     
  3.                 HelloService service = new HelloService();     
  4.                 Hello helloProxy = service.getHelloPort();     
  5.                 String hello = helloProxy.sayHello1("世界");  
  6.                 System.out.println(hello);  
  7.                 String hello1 = helloProxy.sayHello2("");  
  8.                 System.out.println(hello1);   
  9.             }  
  10.         }  
  11.           

              运行结果如下

              


       到此,相信你已经基本掌握WebService使用,再此基础上适当扩展,我们就可以将其放到我们的实际应用中了!

内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,包括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据包格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指导意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值