webservice将wsdl生成Java代码

一般调用webservice方式:
1.将wsdl文档生成代码代码再调用;
2.通过wsdl文档的url远程调用;
参考:WebService技术详解 (一)

下面讲下第一种方式通过wsdl生成代码调用:
一.可以将wsdl通过idea编辑器生成代码
参考:
idea搭建WebService HelloWorld程序

二、通过Apache CXF工具将wsdl生成代码再调用:
1.官网下载生成工具Apache CXF
(或者百度云:链接:https://pan.baidu.com/s/1z5xyyVJhCuPEGqs0q_ZHqA
提取码:g3zk )

2.解压压缩包
设置系统环境变量
a) 变量名:CXF_HOME
b) 变量值:解压目录
在这里插入图片描述
c) 变量名:Path
d) 变量值:%CXF_HOME%\bin

在这里插入图片描述
3. cmd进入dos命令窗口
a) 输入 wsdl2java -v 查看版本证明配置环境变量生效

在这里插入图片描述

4. wsdl2java用法:
a) wsdl2java -p com -d src -all wsdl
b) 参数说明
i. -p 指定其wsdl的命名空间,也就是要生成代码的包名
ii. -d 指定要产生代码所在目录
iii. -all 生成所有代码

c) 实例

wsdl2java -p com.test.client -d D:\wsdl -all http://localhost:8080/WebService_war_exploded/services/HelloWorld?wsdl

说明:会在D盘的wsdl文件夹里将
http://localhost:8080/WebService_war_exploded/services/HelloWorld?wsdl的wsdl生成Java代码,com.test.client是代码里的包名。

然后将生成的代码复制到项目的com.test.client文件夹下就可以调用了。

参考:
如何正确地在Axis、Axis2和Apache CXF之间抉择?
几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较
idea搭建WebService HelloWorld程序

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java调用webservice接口wsdl的具体代码实现可以分为以下几个步骤: 1. 导入webservice库:在Java开发环境中,需要导入webservice相关的库,如JAX-WS、JAXB等。 2. 生成客户端代码:使用wsimport命令或者IDE中的webservice工具,生成客户端代码。wsimport是JDK自带的命令行工具,可以根据WSDL描述文件生成Java代码。 3. 创建webservice客户端:在Java代码中,创建webservice客户端,即创建一个Service实例,并通过Service实例获取Port实例。 4. 调用webservice接口:通过Port实例调用webservice接口,即调用webservice接口提供的方法。 下面是具体的Java代码实现: ```java import javax.xml.namespace.QName; import javax.xml.ws.Service; import java.net.URL; public class WebserviceClient { public static void main(String[] args) throws Exception { // 创建WSDL的URL,注意不是服务地址 URL url = new URL("http://localhost:8080/HelloWorld?wsdl"); // 创建服务名称 QName qname = new QName("http://webservice.example.com/", "HelloWorldImplService"); // 创建服务视图 Service service = Service.create(url, qname); // 获取服务实现类 HelloWorld helloWorld = service.getPort(HelloWorld.class); // 调用接口方法 String result = helloWorld.sayHello("world"); System.out.println(result); } } ``` 其中,HelloWorld是webservice接口类,代码如下: ```java import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHello(@WebParam(name = "name") String name); } ``` 在以上代码中,我们首先创建了WSDL的URL,然后通过QName指定服务名称,接着通过Service.create方法创建服务实例,再通过getPort方法获取服务实现类。最后,我们调用了服务实现类的sayHello方法,并将结果打印出来。 需要注意的是,以上代码中的服务地址是本地地址,需要根据实际情况修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值