这篇文章教你如何利用IDEA发布WSDL
博主大学复习周精心制作,共推出几个模块供大家利用,
####今天我们先来学习一下如何利用IDEA发布WSDL
首先打开IDEA
新建一个Java项目
OK了基本的项目已经创建完成!
创建一个新的类命名为Java6WB代码如下所示:
package com.company;
import javax.jws.WebService;
@WebService
public class Java6WB {/*@param name*/public String SayHello(String name){return "Hello " + name;}/*@param a@param b*/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);}
}
运行结果如下,即为成功
感谢阅读.如有疑问请在评论区发表!