1、需求:

由于业务需求对接一个比较老的平台使用到了webService接口,这里记录一下调用方法。

一般有三种方式调用webService接口,

1.1、以HttpURLConnection的方式调用

1.2、使用apache-cxf生成java类调用

1.3、使用AXIS调用WebService

我这边主要是使用的是,第三种,使用AXIS调用WebService

2、soapUI调用示例:

说明:在webService接口后面拼接“?wsdl”在浏览器上打开,展示的是xml格式数据,保存到本地并修改格式为wsdl,后用soapUI打开后填写入参即可调用接口,如下图。

2、引入的依赖。

说明:以下依赖最好是全部引入,少引用的话会报类找不到异常



        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-saaj</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.4</version>
        </dependency>

3、代码:



import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.tiandy.zhfz.casefilemanage.core.vo.CsAjcbrQueryWhere;
import org.apache.axis.client.Call;

public class HttpPost {

    private static final String url = "http://10.10.10.10:8001/xtba/services/xtbaWebService";
    private static final String usercode = "111";
    private static final String pwd = "11111";


    /**
     * 查询CaAjcbr
     * @throws Exception
     */
    public static void  queryCaAjcbr(String ajuanid) throws Exception{
        Call call2 = new Call(url);
        call2.setOperationName("queryCsAjcbr");

        CsAjcbrQueryWhere csAjcbrQueryWhere = new CsAjcbrQueryWhere();
        csAjcbrQueryWhere.setAjuanid(ajuanid);
        //将CsAjxx查询对象转换为JSON字符串表示
        GsonBuilder build = new GsonBuilder();
        Gson gson = build.create();
        String json = gson.toJson(csAjcbrQueryWhere);

        //提交CsAjxx 查询信息,并且获取调用结果的json表示
        String re = (String)call2.invoke(new Object[]{usercode,pwd,json,1,10});
        String personInfoStr = re.replaceAll("\\\\","");
        JSONObject jsonObject = JSONObject.parseObject(personInfoStr);
        System.out.println("1111cbr================="+jsonObject.toJSONString());
    }
}
CsAjcbrQueryWhere实体类:


/**
 * @authoer: fengwen
 * @createDate: 2022/9/9 15:32
 * @description: 
 */
public class CsAjcbrQueryWhere {
    //ID
    private String id;
    //
    private String ajuanid;
    //
    private String cbr;
    //
    private String sfzb;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getAjuanid() {
        return ajuanid;
    }

    public void setAjuanid(String ajuanid) {
        this.ajuanid = ajuanid;
    }

    public String getCbr() {
        return cbr;
    }

    public void setCbr(String cbr) {
        this.cbr = cbr;
    }

    public String getSfzb() {
        return sfzb;
    }

    public void setSfzb(String sfzb) {
        this.sfzb = sfzb;
    }
}

参考:
maven 配置 Axis1.4 依赖的jar包_伐码的博客-CSDN博客_axis-1.4.jar

JAVA调用WebService的三种方法_四叶猫的博客-CSDN博客_java调用webservice接口 三种方法

 调用webservice接口发送xml格式的数据_积跬步,去远行的博客-CSDN博客_webservice xml格式

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐