package com.java110.common.util;
|
|
/*
|
* Created on 2008-6-13
|
*
|
* To change the template for this generated file go to
|
* Window>Preferences>Java>Code Generation>Code and Comments
|
*/
|
|
import com.java110.common.constant.ResponseConstant;
|
import com.java110.common.exception.BusinessException;
|
import com.java110.common.log.LoggerEngine;
|
import org.apache.axis.client.Call;
|
import org.apache.axis.client.Service;
|
|
|
public class WebServiceAxisClient extends LoggerEngine {
|
public static void main(String[] args) {
|
String url = "http://135.192.70.67:9084/serviceAgent/http/FactorageManager_ForAgent?AppKey=2017082401";
|
String function = "queryOrderInfo";
|
|
String xml = "<QueryOrderInfoRequest>\n" +
|
"\t<accNbr>18009706604</accNbr>\n" +
|
"\t<accNbrType>1</accNbrType> \n" +
|
"\t<areaCode>0971</areaCode>\n" +
|
"\t<channelId></channelId>\n" +
|
"\t<staffCode></staffCode> \t\n" +
|
"</QueryOrderInfoRequest>";
|
|
try {
|
Object retObj = WebServiceAxisClient.callWebService(url, function, new Object[]{xml});
|
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* callWebService
|
*
|
* @param url
|
* @param function
|
* @param obj
|
* @return
|
* @throws Exception
|
* @author wuxw
|
*/
|
public static Object callWebService(String url, String function, Object[] obj) throws Exception {
|
return callWebService(url,function,obj,2*60*1000);
|
}
|
|
/**
|
* webservice 调用
|
* @param url
|
* @param function
|
* @param obj
|
* @param timeOut
|
* @return
|
* @throws Exception
|
*/
|
public static Object callWebService(String url, String function, Object[] obj,Integer timeOut) throws BusinessException {
|
Object retObj = null;
|
try {
|
logger.debug("-----------开始调用Web Service-----------");
|
// 创建Service对象,Service对用用于创建Call对象
|
Service service = new Service();
|
// 创建Call对象,Call对象用于调用服务
|
Call call = (Call) service.createCall();
|
// 为Call对象设置WebService的url
|
call.setTargetEndpointAddress(new java.net.URL(url));
|
// 为Call对象设置调用的方法名
|
call.setOperationName(function);
|
// 设置等待时间
|
call.setTimeout(timeOut);
|
// 调用WebService的方法,并获得返回值
|
retObj = call.invoke(obj);
|
logger.debug("-----------调用Web Service正常结束-----------");
|
} catch (Exception e) {
|
logger.error("-----------调用Web Service异常,原因:{}", e);
|
e.printStackTrace();
|
retObj = e.getMessage();
|
throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR,"WebServiceAxisClient.callWebService throws Exception : " + e.getMessage());
|
}
|
return retObj;
|
}
|
}
|