import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import javax.xml.namespace.QName;
import org.tempuri.DHLServiceSoap;
public String invokeIPEXService(String data, String dataType) {
//建立WebService用戶端代理工廠
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注冊WebService接口
factory.setServiceClass(DHLServiceSoap.class);
//設定WebService位址
factory.setAddress(url);
//QName函數的兩個參數,第一個是命名空間,第二個是webservice的服務名
//第一個參數在.net服務釋出時可以找到,也就是targetnamespace,
//第二個參數在java的接口實作類中可以找到,也就是serviceName。
factory.setServiceName(new QName("http://tempuri.org/", "DHLServiceSoap"));
DHLServiceSoap dhlService = (DHLServiceSoap)factory.create();
// 設定用戶端等待服務端響應時間
Client proxy = ClientProxy.getClient(dhlService );
HTTPConduit conduit = (HTTPConduit) proxy.getConduit();
HTTPClientPolicy policy = new HTTPClientPolicy();
policy.setAllowChunking(false);
// 連接配接伺服器逾時時間 3分鐘
policy.setConnectionTimeout(180*1000);
// 等待伺服器響應逾時時間 5分鐘
policy.setReceiveTimeout(300*1000); conduit.setClient(policy);