微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice接口客户端调用

别人的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 是一套业务逻辑


在blh中 反射调用自己写的客户端


/**
 * 
 */
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);
		
		
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐