(2)使用JDK开发WebService

开发服务器端

编码开发:

在开发过程中需要用到以下几个注解:

@WebService(用来定义SEI和SEI实现类)

@WebMethod(用来定义SEI中的所有方法)

(1)定义SEI (即定义接口)

@WebService
public interface IHelloWs {

	@WebMethod
	public String sayHello(String name);
}

(2)定义SEI实现类

@WebService
public class HelloWsImpl implements IHelloWs {

	@Override
	public String sayHello(String name) {
		System.out.println("服务器端 --- sayHello()");
		return "webservice server : "+name;
	}

}





发布webservice

使用Endpoint(终端,发布webservice)

/**
 * 
* @ClassName: ServerTest 
* @Description: 发布webservice 
 */
public class ServerTest {

	public static void main(String[] args) {
		//定义发布地址(供客户端访问使用)
		String address = "http://localhost:8899/JDKWebService_server/helloWs";
		Endpoint.publish(address, new HelloWsImpl());
		System.out.println("发布成功");
	}

}



服务器端的项目架构:



开发客户端

上面的步骤是发布了一个webservice,现在我们来访问一下该webservice对应的wsdl文档,在浏览器上输入刚才在服务器端设定的address地址:


接下来,客户端如何来访问服务器上定义的SEI进行通信交互呢?

借助JDK的  wsimport 工具生成客户端代码,命令如下:
wsimport  -keep url(wsdl的文件路径)

操作步骤:
(0)创建一个客户端项目:JDKWebService_client
(1)cmd去到项目的src目录:


(2)使用 wsimport  -keep url(wsdl的文件路径) 来生成客户端代码



刷新客户端项目,生成的代码结构如下:


生成代码后如何使用?
在wsdl文档里有个 < service name>标签,该标签指定的值即为工厂类;它下面有子标签<port >,其中name值对应的就是生产具体类的方法,binding对应的是生产哪种类型

上图截取本次测试的wsdl文档service标签片段,通过该标签我们知道,客户端生成代码后,会有一个名为HelloWsImplService的工厂类,该类有一个HelloWsImplPort方法,该方法返回的是HelloWsImpl类型的对象(该对象就是我们在服务器端定义的SEI接口实现类)。客户端测试代码如下:


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;、 3本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdmE.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值