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

WebService学习总结二 使用JDK开发WebService

发布时间:2020-12-16 22:09:57 所属栏目:安全 来源:网络整理
导读:一 服务器端:包括要发布的接口SEI,接口实现类和接口的发布类 1 SEI接口:使用@WebService和@WebMethod两个注解,一个加在接口上一个加在方法上。 2 SEI实现:使用@WebService,加在实现类上。 3 服务发布类:在main方法里使用 Endpoint.publish(发布路径,接

一 服务器端:包括要发布的接口SEI,接口实现类和接口的发布类

1 SEI接口:使用@WebService和@WebMethod两个注解,一个加在接口上一个加在方法上。

2 SEI实现:使用@WebService,加在实现类上。

3 服务发布类:在main方法里使用 Endpoint.publish(发布路径,接口实现类)进行发布;

二 ?测试发布的接口:使用浏览器访问 发布路径?wdl,如果看到WebService定义的文档即成功。

三 客户端:使用jdk的 wsimport生成代码,首先进入客户端项目的src目录中(生成客户端代码的位置,默认和Server端的包相同),执行 wsimport -keep 发布的路径?wsdl,最后刷新src就可以看到生成的客户端代码了。 比如客户端项目的src目录是:D:javaworkspaceP2src ?,在命令行执行 ?d: 回车,cd ??D:javaworkspaceP2src ?回车,

wsimport -keep 发布的路径?wsdl


代码:

服务端

package com.ws.se;

import javax.jws.WebMethod;
import javax.jws.WebService;

/*
 * SEI WebService服务端接口
 */
@WebService
public interface HelloServer {
	@WebMethod
	public String sayHello(String str);
}
package com.ws.se;

import javax.jws.WebService;

/*
 * SEI实现类 WebService服务实现类
 */
@WebService
public class HelloServerImpl implements HelloServer {

	@Override
	public String sayHello(String str) {
		System.out.println("Server收到消息:"+str);
		return "这是来自Server的响应";
	}

}

package com.ws.se;

import javax.xml.ws.Endpoint;
/*
 * 发布WebService
 */
public class ServerPublish {

	public static void main(String[] args) {
		String address="http://192.168.1.101:8988/WSS/HelloServer";
		Endpoint.publish(address,new HelloServerImpl());
		System.out.println("Server 发布成功");
	}

}


客户端

首先生成代码?

/WSC/src/com/ws/se/HelloServerImpl.java
/WSC/src/com/ws/se/HelloServerImplService.java
/WSC/src/com/ws/se/ObjectFactory.java
/WSC/src/com/ws/se/package-info.java
/WSC/src/com/ws/se/SayHello.java
/WSC/src/com/ws/se/SayHelloResponse.java;

package com.ws.test;

import com.ws.se.HelloServerImpl;
import com.ws.se.HelloServerImplService;

/*
 * 测试WebService客户端代码
 */
public class TestClient {

	public static void main(String[] args) {
		HelloServerImplService factory=new HelloServerImplService();//产生Server端发布接口的工厂
		HelloServerImpl hsi=factory.getHelloServerImplPort(); //获取Server端发布接口的代理
		String res=hsi.sayHello("Tom");//获取服务端的响应
		System.out.println(res);

	}

}

(编辑:李大同)

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

    推荐文章
      热点阅读