webservice
例如:java接口远程调用
文章目录
webservice一、使用步骤1引入Maven依赖2.读入数据总结一、使用步骤
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地址、方法名、参数名称及参数值是否需要加密处理等。