Axis2のバージョン:1.6.2
輸入java.rmi.RemoteExceptionの。
輸入nc.pubitf.para.SysInitQuery;
輸入nc.vo.pub.BusinessException;
輸入org.apache.axis2.AxisFault;
輸入org.apache.axis2.client.Options。
輸入org.apache.axis2.transport.http.HTTPConstants。
輸入org.tempuri.HQSWcfServiceCallHQSWcfServiceCallSoapStub。
輸入com.yonyou.yh.nhis.bd.util.SysConfigParamUtil。
輸入com.yonyouhealth.uaph.framework.comm.util.StringUtils。
パブリッククラスChinaShineUtils {
スタブ静的HQSWcfServiceCallHQSWcfServiceCallSoapStubプライベート;
プライベート静的HQSWcfServiceCallHQSWcfServiceCallSoapStub getServiceStubは()AxisFault、BusinessException {スロー
試し{
;スタブスタブは、新しい新しいHQSWcfServiceCallHQSWcfServiceCallSoapStub = NULL ==():?スタブ
...スタブ_getServiceClientオプションオプション=()GETOPTIONS();
options.setProperty(HTTPConstantsを.CONNECTION_TIMEOUT、* 1000年2); //設定されたサーバーのタイムアウト法(ミリ秒単位)
options.setProperty(HTTPConstants.SO_TIMEOUT、1000年* 3); //ミリ秒単位で(顧客の接続を待ってタイムアウトを設定)
スタブ。 _getServiceClient()はsetOptions(オプション); //は設定してください。
}キャッチ(AxisFault E){
スロー新しい新ザ・AxisFault( "アウトインターフェースの呼び出し回数、インターフェースは情報を返します:" + e.getMessage());
}キャッチ(例外e){
新しいBusinessExceptionを投げる( "接口调用失败、接口返回信息:" + e.getMessage())。
}
戻りスタブ。
}
プライベート静的HQSWcfServiceCallHQSWcfServiceCallSoapStub getServiceStub(文字列pk_group)はAxisFault、BusinessException {スロー
{試みるは、
IF(StringUtils.hasText(pk_group)){
文字列のURL = SysInitQuery.getParaString(pk_group、 "NHISPV014")。
もし(StringUtils.hasText(URL)){
スタブ= NULL ==スタブ?新しいHQSWcfServiceCallHQSWcfServiceCallSoapStub(URL):スタブ。
文字列のconn_timeout_str =新しいSysConfigParamUtil()getPubSysInitByGroup(pk_group、 "NHISPV022")。
?CONNECTION_TIMEOUT整数= StringUtils.hasText(conn_timeout_str)Integer.valueOf(conn_timeout_str):2000;
。=文字列so_timeout_str新しい新SysConfigParamUtil()getPubSysInitByGroup(pk_group、 "NHISPV023");
?=整数SO_TIMEOUT StringUtils.hasText(so_timeout_str)Integer.valueOf( so_timeout_str):3000;
オプションオプションstub._getServiceClient =()GETOPTIONS();.
options.setProperty(HTTPConstants.CONNECTION_TIMEOUT、CONNECTION_TIMEOUT); //ミリ秒単位でサーバータイムアウト法(設定)
options.setProperty(HTTPConstants.SO_TIMEOUT、 SO_TIMEOUT); //待ちタイムアウト接続ミリ秒クライアント()
stub._getServiceClient()はsetOptions(オプション);. //集合
}他{
= getServiceStubスタブ();
}
}他{
スタブgetServiceStub =();
}
}キャッチ(AxisFault E){
スロー新しい新しいザAxisFault( "インターフェース呼び出しがタイムアウト、インターフェース情報を返す:" + e.getMessage());
}キャッチ(例外E){
スロー新しい新BusinessException(「呼び出しは、インタフェースを失敗インターフェイス情報が返され、」+ e.getMessage());
}
スタブを返します;
}