package tst;
import java.util.HashMap;
import java.util.Map;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import com.bjdv.bean.Result;
import server.bjdv.com.createrfservice.WorkOrderPortType;
public class Test {
private static WorkOrderPortType service = null;
private static String url;
/**
* 提供给外部使用的获取服务获取实例的方法
*
* @return
*/
public static WorkOrderPortType getServiceInstance() {
if (service == null) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
// 注册WebService接口
factory.setServiceClass(WorkOrderPortType.class);
factory.setAddress(url);
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("mtom-enabled", Boolean.TRUE);
factory.setProperties(properties);
service = (WorkOrderPortType) factory.create();
Client client = ClientProxy.getClient(service);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
/* 设置服务器和客户端的超时时间 */
httpClientPolicy.setConnectionTimeout(1000 * 60 * 7);
httpClientPolicy.setReceiveTimeout(1000 * 60 * 7);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
}
return service;
}
public static void setUrl(String url) {
Test.url = url;
}
public static void main(String[] args) {
/* 服务地址 */
System.out.println("begin");
Test.setUrl("http://localhost:8080/bjdv_star/services/WorkOrder");
WorkOrderPortType jspt = Test.getServiceInstance();
Result result = jspt.dispatchWorkOrder((long) 1, "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1");
System.out.println(result.getContent().getValue());
}
}