webservice java接口远程调用

本文介绍了Java实现WebService接口远程调用的步骤,包括引入Maven依赖和读入数据。示例代码展示了如何使用URL获取网络请求数据。在实际调用中,建议先通过远程工具验证接口的正确性,检查URL、方法、参数等是否正确处理。

webservice

例如:java接口远程调用


一、使用步骤

1引入Maven依赖

        <!-- axis 依赖开始 -->
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
        </dependency>
        <!-- axis 依赖结束 -->

2.读入数据

代码如下(示例):使用的url网络请求的数据。

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;


		public List<Map<String, String>> getSCUserInfoByUserId(String userId) {
		List<Map<String, String>> xmlStr = new ArrayList<>();
		try {
			//使用webService调用获取xml信息
			Service service = new Service();
			Call call = (Call) service.createCall();
			//设置接口url地址
			call.setTargetEndpointAddress("http://ip:port/uums/services/UserService?wsdl");
			//设置方法名
			call.setOperationName("getUserInfoByUserId");
			call.setTimeout(60000);
			//设置参数
			call.addParameter("userId", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
			call.addParameter("sessionId", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
			call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
			call.setUseSOAPAction(true);
			//设置参数值
			String reXmlDoc = (String) call.invoke(new Object[]{userId, ""});
			System.out.println(reXmlDoc);
			/**********************************解析xml***********************************/
			List<Map<String, String>> maps = WebServiceUtil.convertToMap(reXmlDoc,"");
			xmlStr = maps;
			System.out.println(maps.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			return xmlStr;
		}
	}

总结

使用代码调用之前先使用远程工具(postman、apiPost等)调用,如果调用成功但是代码却不成功,检查一下调用url地址、方法名、参数名称及参数值是否需要加密处理等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值