这篇文章教你如何利用IDEA发布WSDL
博主大学复习周精心制作,共推出几个模块供大家利用,
####今天我们先来学习一下如何利用IDEA发布WSDL 首先打开IDEA 新建一个Java项目 OK了基本的项目已经创建完成! 创建一个新的类命名为Java6WB代码如下所示:
package com.company;
import javax.jws.WebService;
@WebService
public class Java6WB {
public String SayHello(String name){
return "Hello " + name;
}
public int Sum(int a, int b)
{
return a+b;
}
}
创建一个新的类名为 Test
在Test里利用Endpoint创建一个对象,并调用publish方法发布服务.
代码如下:
package com.company;
import javax.xml.ws.Endpoint;
public class Test {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/ws/Java6WB",new Java6WB());
}
}
然后运行Test中的main方法发布服务, 由于之前在8080端口运行过其他项目,所以这里将端口改为8090 运行后访问浏览器的url’: 在publish方法后的第一个参数内,在Java6WB后面加上?wsdl访问 出现如下界面即可: 说明发布成功 然后通过JDK工具来生成客户端代码. JDK提供了一个wsimport.exe 程序用来解析WSDL文件生成客户端代码 命令格式如下:
wsimport -d [class 文件存放目录] -s [源码存放目录] -p [包名] -keep [wsdl的URL]
我们在终端中使用如下命令:
wsimport -p com.company -keep http://localhost:8090/ws/Java6WB?wsdl
结果如图所示
并且在源文件的目录中出现了out
然后我们再建一个客户端项目,名为client 将刚才的生成的文件导入client项目中 并且创建class 名为 Testclinet
import com.company.Java6WB;
import com.company.Java6WBService;
public class Testclient {
public static void main(String[] args) {
Java6WB java6WB = new Java6WBService().getJava6WBPort();
String result= java6WB.sayHello("K1rit0");
int sum =java6WB.sum(1,300);
System.out.println(result);
System.out.println(sum);
}
}
运行结果如下,即为成功 感谢阅读.如有疑问请在评论区发表!
|