別人的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);
}
}