java 如何调用 wsdl,java 调用wsdl的webservice接口-简单方法

原来博客里写的是用httpclient的方式调用,比较麻烦,cxf的方式又有局限性,其实cxf的方式加上如下这种也可以很方便

myeclipse可以直接在自己的项目中 new一个web service client ,

0818b9ca8b590ca3270a3433284dd417.png

然后把对方给的wsdl文件保存到本地,

本地新建一个记事本,然后 吧对方 给的wsdl地址在浏览器访问所看到的xml内容放入记事本,然后把记事本后缀修改成wsdl ,而不是txt

然后再wsdl file 中浏览找到此文件,之后就可以生成对应的实体类,以及接口类、调用类

0818b9ca8b590ca3270a3433284dd417.png

类的生成结构如下,最重要的就是 server类 test类是要你自己写的一个测试类 ,代码如图: 名称Service类很重要,里面的路径需要修改,原来因为是通过文件引入的,这里的wsdlLocation的值是c:\\pro\\al\\test.wsdl, 需要修改成真实的路径地址,如果是远程的应该输入http地址,其实如果你在上一步,即上一张图,如果选择的是wsdl url,那么这里可能显示的就是url了(未测试)

0818b9ca8b590ca3270a3433284dd417.png

测试类方法, new 了Service类 ,然后用对象get到ServiceHttpPort();  只有就可以用新的对象调用所有方法了,其实如果能知道对方接口和实体,cxf一样很用好,当然jdk1.5以上才行

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值