springboot调用webservice接口的两种方式,不使用axis

复制代码
public String sendXml(String xml) {
       // 创建动态客户端
         JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
         Client client = dcf.createClient(System.getProperty("wsdl.url"));
        // 需要密码的情况需要加上用户名和密码
        // client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));
        Object[] objects = new Object[0];
        try {
            // invoke("方法名",参数1,参数2,参数3....);
            objects = client.invoke(methodName, xml);
            logger.debug("返回数据:" + objects[0]);
            return objects[0].toString();
        } catch (java.lang.Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public String sendSobeyXml2(String xml) throws Throwable {
        String url = System.getProperty("wsdl.url");
        Service serv = new Service();
        Call call = (Call) serv.createCall();
        call.setTargetEndpointAddress(url);
        call.setOperationName(new QName("http://Platform/v2.0",methodName));
        call.addParameter(new QName("http://Platform/v2.0", paramName), 
                XMLType.XSD_STRING, Class.forName("java.lang.String"), ParameterMode.IN );
        call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
        System.out.println("推送的xml---"+xml);
        String str=(String) call.invoke(new Object[] {xml});
        System.out.println(str+"----------------推送成功");
        return str;
    }
复制代码

 

posted @   凉城  阅读(1421)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示