Webservice client客户端的实现方式---axis调用方式

1.添加maven依赖


    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-core -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-core</artifactId>
            <version>3.3.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/axis/axis -->
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        
    </dependencies>

Java代码:


public class WebServiceClient {

    public static void main(String[] args) {
        String url = "http://localhost:8081/services/jobListService?wsdl";
        Service service = new Service();

        try {
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new URL(url));
            // WSDL里面描述的接口名称(要调用的方法)
            call.setOperationName(new QName("http://webservice.tibom.thit.com/",
                    "getList"));

            //跨平台调用加上这个
            call.setUseSOAPAction(true);
            //call.setSOAPActionURI("http://webservice.tibom.thit.com/getList");
            // 接口方法的参数名, 参数类型,参数模式 IN(输入), OUT(输出) or INOUT(输入输出)
            call.addParameter("userId", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("agentNum", XMLType.XSD_INTEGER, ParameterMode.IN);
            // 设置被调用方法的返回值类型
            call.setReturnType(XMLType.XSD_STRING);
            // 设置方法中参数的值
            Object result = call.invoke(new Object[] { "010000018006", 0 });
            System.out.println(result.toString());

        }catch (Exception e) {
            e.printStackTrace();
        }

    }
}
发布了102 篇原创文章 · 获赞 49 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/SoWhatWorld/article/details/104877449