别人的webservice已经写好,自己系统来调用。
首先 别人会给我们接口的wsdl文件访问路径
wsdl 说明了接口的参数 与方法名
我们做一个定时器 定时来执行任务,按照接口的要求将信息发送给他。
package com.***.rhcm.blh.filetimer;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.***.***.blh.organ.UploadOrangeBlh;
/**
*
* <p>业务描述:机构定时器 </p>
* <p>公司: **软件股份公司</p>
* @author:
* @date: 2015-11-20
* @editor:
* @version: V1.0
*/
public class OrganTimerTask extends TimerTask{
private ServletContext servletContext;
private static boolean isRunning = false;
public OrganTimerTask(ServletContext servletContext) {
this.servletContext = servletContext;
}
@SuppressWarnings("resource")
@Override
public void run() {
if (!isRunning) {
isRunning = true;
servletContext.log("本次任务开始");
BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml");
/*****引入UploadOrangeBlh 机构国家级接口定时任务*******/
UploadOrangeBlh organBlh = (UploadOrangeBlh) factory.getBean("uploadOrangeBlh");
organBlh.uploadManagerOrgan();
organBlh.uploadMedOrgan();
isRunning = false;
servletContext.log("本次任务结束");
} else {
servletContext.log("上次任务还在执行");
}
}
}
从blh到dao 是一套业务逻辑
/**
*
*/
package com.**.***.client.organ;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
/**
* @author hexi
*
*/
public class UploadOrganClient {
public static Log log = LogFactory.getLog(UploadOrganClient.class);
public UploadOrganClient(){
}
public static UploadOrganClient getInstance(){
return new UploadOrganClient();
}
/**
*
*/
public void callSynManagerOrgan(String xmlInput, String url) {
String outputXml = "";
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
factoryBean.setAddress(url);
factoryBean.setServiceClass(SynOrganPortType.class);
SynOrganPortType interfaces =(SynOrganPortType)factoryBean.create();
outputXml = interfaces.synManagerOrgan(xmlInput);
// log.info(outputXml);
}
/**
*
*/
public void callSynMedOrgan(String xmlInput, String url) {
String outputXml = "";
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
factoryBean.setAddress(url);
factoryBean.setServiceClass(SynOrganPortType.class);
SynOrganPortType interfaces =(SynOrganPortType)factoryBean.create();
outputXml = interfaces.synMedOrgan(xmlInput);
// log.info(outputXml);
}
public static void main(String args){
UploadOrganClient client = getInstance();
String inputxml = "*";
String url = "http://***/services/***?wsdl";
client.callSynManagerOrgan(inputxml, url);
}
}