webservice接口对接

1.在项目的pom.xml的dependencies中加入以下内容

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.4</version>
</dependency>

2.Java代码示例

 	/**
     * 接口地址 ?wsdl
     */
    private static final String url = "https://xxxx
    /sites/office/_layouts/g2/ws/G2WebService.asmx";

    /**
     * server域名地址,为了统一规范,一般都是这个域名
     */
    private static final String namespaceURI = "http://tempuri.org/";

    @RequestMapping(value = "/getWorkItemCount")
    public Integer getWorkItemCount(String CredentialString, String User, Integer WorkItemType) {
        SoapClient client = SoapClient.create(url)
                // 设置要请求的方法,此接口方法前缀为web,传入对应的命名空间
                .setMethod("web:GetWorkItemCount", namespaceURI)
                // 设置参数,此处自动添加方法的前缀:web
                .setParam("CredentialString", CredentialString)
                .setParam("User", User)
                .setParam("WorkItemType", WorkItemType);
        // 发送请求,参数true表示返回一个格式化后的XML内容
        String xml = client.send(true);
        //xml格式转json格式
        JSONObject xmlJSONObj;
        try {
            xmlJSONObj = XML.toJSONObject(xml);
            //根据返回的json数据获取需要的值
            int count = xmlJSONObj.getJSONObject("soap:Envelope").getJSONObject("soap:Body").getJSONObject("GetWorkItemCountResponse").getInt("GetWorkItemCountResult");
            return count;
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

你可能感兴趣的:(Java,java,开发语言)