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

如何使用WebService服务

发布时间:2020-12-17 00:23:17 所属栏目:安全 来源:网络整理
导读:此博文对应的WebService服务端为 使用JDK发布一个简单WebService? ? 。现在我们就要使用这个WebService。 首先要使用JDK自带的命令wsimport,它可以根据wsdl文档生成客户端调用代码的工具.无论服务器端的WebService是用什么语言写的,都将在客户端生成Java代

此博文对应的WebService服务端为使用JDK发布一个简单WebService??。现在我们就要使用这个WebService。

首先要使用JDK自带的命令wsimport,它可以根据wsdl文档生成客户端调用代码的工具.无论服务器端的WebService是用什么语言写的,都将在客户端生成Java代码.服务器端用什么写的并不重要.wsimport.exe位于JAVA_HOMEbin目录下.
常用参数为:
-d<目录>? - 将生成.class文件。默认参数。
-s<目录> - 将生成.java文件。
-p<生成的新包名> -将生成的类,放于指定的包下。
(wsdlurl) - http://server:port/service?wsdl,必须的参数。
示例:控制台中C:Documents and SettingsAdministrator>wsimport -s F: -p com.client.jdk.wsimporthttp://localhost:1111/hello?wsdl生成的文件如下:

注意:-s不能分开,-s后面是要存储的位置,用于指定源代码生成的目录 。你可以将生成的客户端调用代码工具打包成jar,也可以不打包直接使用,将它复制到你客户端程序中使用即可。

创建一个WSClient的工程,将刚刚生成的客户端调用代码的工具复制到工程里,如图:

编写客户端调用自己写的服务类 Client.java

package com.client.jdk;

import com.client.jdk.wsimport.MyHelloService;
import com.client.jdk.wsimport.MyHelloServiceService;

/**
 * @author jackphang
 * @date 2013-4-11
 * @description 根据wsimport命令生成客户端代码来调用WebService服务 F:&;wsimport -s . -p
 *              com.client.jdk.wsimport
 *              http://localhost:1111/hello?wsdl会生成两种文件.class和.java 。
 *              而在C:Documents and SettingsAdministrator>wsimport -s F: -p
 *              com.client.jdk.wsimpo rt
 *              http://localhost:1111/hello?wsdl,只会生成.java的文件
 */
public class Client {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 获取WebService提供的服务
		MyHelloServiceService service = new MyHelloServiceService();
		// 获得自己提供的服务
		MyHelloService helloService = service.getMyHelloService();
		// 调用服务中的方法
		String str = helloService.mySayHello("你大爷的",1);
		System.out.println("服务器返回:" + str);
	}

}


?


前提是你的服务端必须启动才能调用成功,或者会抛出如下异常

Exception in thread "main" javax.xml.ws.WebServiceException: Failed to access the WSDL at:http://localhost:1111/hello?wsdl. It failed with:
?Connection refused: connect.

我们生成的客户端代码工具已经封装好了对服务器端服务的访问,底层是通过Socket访问的,所以我们编写很小的代码就能访问网络中的服务。

(编辑:李大同)

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

    推荐文章
      热点阅读