加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice接口客户端调用

发布时间:2020-12-16 22:30:18 所属栏目:安全 来源:网络整理
导读:别人的webservice已经写好,自己系统来调用。 首先 别人会给我们接口的wsdl文件访问路径 wsdl 说明了接口的参数 与方法名 我们做一个定时器 定时来执行任务,按照接口的要求将信息发送给他。 package com.***.rhcm.blh.filetimer;import java.util.TimerTask

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读