Java调用WebService接口之利用hutool工具包实现

最近要对接金蝶财务系统,对方提供了一个webService接口。而且测试接口地址还是内网的,每改一处代码都要部署堡垒机去测试,光是一个登录接口就花了我两天时间很是无语(主要是接口文档地址不会看)

接口的地址大就是这种,以wsdl结尾的

图一:

Java调用WebService接口之利用hutool工具包实现_第1张图片

 

 打开这个接口地址之后里面就是接口方法以及接口调用参数

图二:

Java调用WebService接口之利用hutool工具包实现_第2张图片

 相信看到这,大家都有点蒙,不知如何下手,今天就以我的亲身经历告诉大家如何解决这种问题(hutool)是个好东西

图三:

Java调用WebService接口之利用hutool工具包实现_第3张图片

解析后的内容就是这种

图四:

 Java调用WebService接口之利用hutool工具包实现_第4张图片

 


   
   
      
         "21"
         21@2022
         eas
         21
         l2
         1
      
   

下面是Java代码

    @GetMapping("/test6")
    public R test6(){
        Map map=new HashMap<>();
        map.put("userName","user");
        map.put("password","kduser@2022");
        map.put("slnName","eas");
        map.put("dcName","gxlqtest");
        map.put("language","L2");
        map.put("dbType",1);

        SoapClient client = SoapClient.create("http://192.168.15.56:9191/ormrpc/services/EASLogin")
            // 设置要请求的方法,此接口方法前缀为web,传入对应的命名空间
            .setMethod("log:login", "http://login.webservice.bos.kingdee.com")
            .setParams(map,false).header("SOAPAction","application/soap+xml;charset=utf-8 ");
            // 设置参数,此处自动添加方法的前缀:web

        // 发送请求,参数true表示返回一个格式化后的XML内容
        // 返回内容为XML字符串,可以配合XmlUtil解析这个响应
        client.sendForResponse().getCookie("JSESSIONID");
        log.info(client.sendForResponse().toString());
        return R.ok();

    }

上面传参的内容可以参考图四,map是要传入的参数

调用成功之后就会返回下图获取sessionId,我们还可以获取cookie等参数,具体要根据你们的业务来获取即可

Java调用WebService接口之利用hutool工具包实现_第5张图片

 到此处就算是调用成功了,后面如遇到其他问题还会继续更新此文章的!希望对大家有所帮助,少走些弯路!

 

你可能感兴趣的:(postman,Java,java,前端,javascript)