SpringBoot2调用WebService接口

走远了吗. 提交于 2020-10-28 11:50:40

最近在和WebService打交道,因为对方用的是比较老的版本还是 Apache Axis version: 1.4 的。

因为我们的项目都是SpringBoot2的,对方的意思是需要我们根据xml生成对应的客户端代码,但是SpringBoot的话根本不需要生成代码,直接调用WebService接口 其实几行代码就可以搞定。

我这里的SpringBoot版本是2.0.3的对应的cxf依赖:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
    <version>3.2.4</version>
</dependency>

 

import com.alibaba.fastjson.JSONObject;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class WsTest {

   public static void main(String[] args) {

      // 创建动态客户端
      JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
      Client client = dcf.createClient("http://域名/api/notify?wsdl");
      Object[] objects = new Object[0];
      try {
         //按照各自的文档传入参数
         objects = client.invoke("ServiceName", "参数1", "参数2", "参数3", "参数4");
         System.out.println("返回数据:" + JSONObject.toJSONString(objects[0]) );
      } catch (java.lang.Exception e) {
         e.printStackTrace();
      }

   }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!