栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java通过axis1.4调用WebServices(2021)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java通过axis1.4调用WebServices(2021)

使用axis1.4调用WebServices
  • 1 Maven导入依赖
  • 2 开始调用
  • 3 小结

1 Maven导入依赖
	
    org.apache.axis
    axis
    1.4


    dom4j
    dom4j
    1.6.1


    commons-discovery
    commons-discovery
    0.2


    wsdl4j
    wsdl4j
    1.6.3


    javax.xml
    jaxrpc
    1.1

2 开始调用
package org.rensrm.ws;

import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.xml.rpc.ParameterMode;
import java.net.ConnectException;


public class Test2 {
    private static final Logger logger = LoggerFactory.getLogger(Test.class);
    public static void main(String[] args) {
        // 要调用的接口的链接
        String portalURL = "http://127.0.0.1/services/test?wsdl";
        // 根据需求拼接给定的请求报文,无需缩进与换行
        StringBuffer sb = new StringBuffer();
        sb.append("");
        sb.append("").append("");
        sb.append("").append("xxxx").append("");
        String reqXML = sb.toString();
        String result = "";
        try {
            Service service = new Service();
            Call call = (Call) service.createCall();
            // 设置访问点
            call.setTargetEndpointAddress(portalURL);
            // 设置操作名
            call.setOperationName("接口名填此处");
            // 设置参数,这里的场景是只有一个参数,参数名为Req,类型为字符串,入参
            call.addParameter("Req", XMLType.XSD_STRING, ParameterMode.IN);
            // 设置返回参数类型:字符串
            call.setReturnType(XMLType.XSD_STRING);
            // 调用接口
            result = (String) call.invoke(new Object[]{reqXML});
            logger.info("服务调用成功:{}", result);
        } catch (AxisFault fault) {
            if (fault.detail instanceof ConnectException) {
                logger.info("无法连接到操作所请求的服务地址n请求XML:n{}n错误信息:{}", reqXML, fault.getFaultString());
            } else if (fault.detail == null) {
                logger.info("WebService调用异常n请求XML:n{}n错误信息:{}", reqXML, fault.getFaultString());
            } else {
                logger.info("服务调用失败n请求XML:n{}n错误信息:{}", reqXML, fault.getFaultString());
            }
        } catch (Exception e) {
            logger.info("其他异常n请求XML:n{}n错误信息:{}", reqXML, e.getMessage());
        }
    }
}

3 小结

在开发中遇到使用WebServices的需求,这个技术相对比较老了,在网上查资料遇到了很多坑,做完之后索性自己记录一下,希望能帮助到大家。

如有错误欢迎指正!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号