20210714_使用axis框架的相关jar包调用WebService接口

相关jar包如下:(自行在maven厂库下载)

1、axis.jar

2、commons-discovery.jar

3、jaxrpc.jar

4、wsdl4j-1.5.1.jar

调用接口方式如下:

		// webservice接口地址		
		String wsdlUrl= "http://localhost:9000/WebServiceDemo?wsdl";
		// webservice接口方法	
		String wsdlMethod = "sendWXMessage1";
		// webservice接口方法命名空间
		String methodNamespace = "http://ws.duzq/";
		if (!StringUtil.isNullOrEmptyNoTrim(wsdlUrl) && !StringUtil.isNullOrEmptyNoTrim(wsdlMethod)) {
			Service service = new Service();
			Call call = (Call) service.createCall();
			// 创建连接
			call.setTargetEndpointAddress(new URL(wsdlUrl));
			// WSDL里面描述的接口名称(要调用的方法)
			call.setOperationName(new QName(methodNamespace, wsdlMethod));
			// 跨平台调用加上这个
			call.setUseSOAPAction(true);
			call.setSOAPActionURI(methodNamespace + wsdlMethod);
			// 接口方法的参数名, 参数类型,参数模式 IN(输入), OUT(输出) or INOUT(输入输出)
			call.addParameter(new QName(methodNamespace, "param1"), XMLType.XSD_STRING, ParameterMode.IN);
			call.addParameter(new QName(methodNamespace, "param2"), XMLType.XSD_STRING, ParameterMode.IN);
			call.addParameter(new QName(methodNamespace, "param3"), XMLType.XSD_STRING, ParameterMode.IN);
			// 设置被调用方法的返回值类型
			call.setReturnType(XMLType.XSD_STRING);
			// 设置方法中参数的值,获取接口返回结果
			Object result = call.invoke(new Object[] { param1, param2, param3});
			LOG.info(result.toString());
		} else {
			LOG.info("Webservice接口地址、Webservice接口方法、Webservice接口方法命名空间系统选项中配置有误,请检查!");
		}
posted @ 2021-07-14 11:04  奥力给joy  阅读(409)  评论(0)    收藏  举报