`

webService接口的开发实例

阅读更多

webService接口的开发实例job调度功能(工作记录以后参考和改进):

项目A中的JOB 调度项目B中的JOB(用同一个quratz用户),启动两个项目的JOB

项目A(客服端):CommonJob.class

 

package com.x.x.common.job;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.x.x.common.util.StaticUtils;

public class CommonJob implements Job {


 private Client client = null;

 public Client getClient(){
  if( client == null ) {
   try {
    System.out.println("客服端中对smct_job 调度开始建立会话之前查询调度地址URl!");
    //String smctJobInvokeUrl ="http://10.109.4.230:8080/smct/services/jobInterfaces?wsdl";
    //String smctJobInvokeUrl ="http://10.108.226.193:8080/smct/services/jobInterfaces?wsdl";
    String smctJobInvokeUrl =  StaticUtils.getSmctJobInvokeWsdlURL();//可以配置在perporties文件中/数据库中
    System.out.println("smctJobInvokeUrl:"+smctJobInvokeUrl);
    System.out.println("客服端中对smct_job 调度开始建立会话之前查询调度地址为:!"+smctJobInvokeUrl);
    client = new Client( new URL(smctJobInvokeUrl) );
    client.setTimeout( 5000 );
    System.out.println("客服端中对smct_job 调度成功建立会话!");
   } catch (MalformedURLException e) {
    e.printStackTrace();
    System.out.println("客服端中对smct_job 调度建立会话失败!");
   } catch (Exception e) {
    e.printStackTrace();
    System.out.println("客服端中对smct_job 调度建立会话失败!");
   }
  }

  return client;
 }

 public void execute(JobExecutionContext context) throws JobExecutionException {
  String result = "";
  try {
     JobDataMap jobDataMap =  context.getMergedJobDataMap();

     String clazz = jobDataMap.getString("clazz");
     System.out.println("客服端对 SMCT JOB 使用类 方法"+clazz+": invokeMethodAutoExcute 调度结束:"+result);

   Object[] objs = getClient().invoke("invokeMethodAutoExcute", new String[]{clazz});
   if( objs != null && objs.length == 1 ){
     result = objs[0].toString();
   }
   System.out.println("客服端对 SMCT JOB 使用类 方法: invokeMethodAutoExcute 调度结束:"+result);
   } catch (Exception e) {
   System.out.println("客服端对 SMCT JOB 使用类: invokeMethodAutoExcute 调度失败:"+result);
   e.printStackTrace();
  }
 }

}

项目A中配置job类Action method:

 

public void addAutoJob(HttpServletRequest request, HttpServletResponse response) throws RemoteException,Exception{
  response.setContentType("text/json;charset=GBK");
  String jobname = request.getParameter("jobName");
  String jobgroup = request.getParameter("jobGroup");
  String trigname = request.getParameter("triggerName");
  String triggroup = request.getParameter("triggerGroup");
  String clazz = request.getParameter("className");
  String expression = request.getParameter("CronExpression");
  JSONObject json = new JSONObject();
  try {
         ServiceManager.getSession().startTransaction();


         SchedulerFactory sf = new StdSchedulerFactory();
         Scheduler sched = sf.getScheduler();
         JobDetail jobDetail =

                 new   JobDetail (jobName,jobGroup,com.x.x.common.job.CommonJob.class);
         jobDetail.getJobDataMap().put("clazz", clazz);        
        CronTrigger cronTrigger =

                 new CronTrigger(trigName, trigGroup, jobName, jobGroup, expression,TimeZone.getTimeZone( "Asia/Shanghai" ));
        sched.addJob(jobDetail, true);
        sched.scheduleJob(cronTrigger);
        sched.start();


        ServiceManager.getSession().commitTransaction();


   json.put("retVal", "Y");
   json.put("retMsg", "设置调度成功");
  } catch (Exception e) {
      e.printStackTrace();
         try {
                  ServiceManager.getSession().rollbackTransaction();
              } catch (Exception e2) {
               } finally {
                  json.put("retVal", "N");
                  json.put("retMsg", "设置调度失败");
                }
  }
  response.getWriter().print(json.toString());
 }

 

 

 

项目B接口函数(服务器端):

public class ParseWebserviceSVImpl implements IParseWebserviceSV {
    public String invokeMethodAutoExcute(String clazz) {
          String flag = "failure";
          try {
         System.out.println("============smct_JOB  webService Start=================");
         System.out.println("  进入接口类ParseWebserviceSVImpl对 smct_JOB 调度类反射,创建job实例开始.");
         System.out.println("  进入接口类ParseWebserviceSVImpl对 smct_JOB 调度类反射,创建job实例开始.");
         Job job = (Job)Class.forName(clazz).newInstance();
         System.out.println("  进入接口类ParseWebserviceSVImpl对 smct_JOB 调度类反射,创建job实例结束.");
         System.out.println("  进入接口类ParseWebserviceSVImpl对 smct_JOB 调度开始执行开始!");
           job.execute( null );
          flag = "success";
  } catch (Exception e) {
           e.printStackTrace();
  }
    System.out.println("接口类ParseWebserviceSVImpl对 smct_JOB 调度开始执行结果标示符('failure'或者'success')为:"+flag);
    System.out.println("=========smct_JOB  webService end=====================");
      return flag;
 }


}

 

项目B配置文件:1、引入xfire插件

2、services.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
          <name>jobInterfaces</name>
          <namespace>com.asiainfo.bomc.smct</namespace>

          <serviceClass>
                 com.asiainfo.smct.connector.webservices.interfaces.IParseWebserviceSV
          </serviceClass>

          <implementationClass>
             com.asiainfo.smct.connector.webservices.impl.ParseWebserviceSVImpl
          </implementationClass>

</service>

</beans>

 

项目B中被调度的job,按照普通的job写。


 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java webService接口开发案例

    Java WebService接口开发是将Java应用程序暴露为网络服务的一种方式,允许不同系统间的数据交换和交互。本案例将深入探讨如何使用Java实现Web服务的创建、发布和调用。 一、理解WebService WebService是一种基于...

    webservice接口调用实例

    本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键知识点。 首先,理解Web Service的基本概念非常重要。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...

    ava调用webservice接口发送短信的小例子(内含所有jar包)

    Javawwebservice接口 webservice接口jar webservice接口例子 解压直接导入到MyEclipse中就可以使用了 方便快捷

    webservice接口开发简单例子

    在本例中,我们讨论的是一个关于WebService接口开发的简单实例,特别是与job调度相关的功能。 首先,项目A中的`CommonJob`类实现了`org.quartz.Job`接口,这是Quartz作业调度框架的一部分。Quartz是一个开源的作业...

    webService接口配置以及接口访问实例

    基于idea开发的简单webservice接口实例,test1为服务端配置了webserivice接口;test2为客户端,通过AXIS方式访问接口,Soap方式服务端能接收到请求信息,但客户端返回信息警告,有兴趣的可以研究一下;带AXIS和soap...

    webservice接口调用实例.doc

    通过对文档标题“WebService接口调用实例”以及描述“WebService接口调用实例,接口测试和调用”的解读,我们可以了解到主要内容涉及WebService接口的开发与调用流程。 #### 二、准备工作 1. **编写并测试接口:**...

    WebService接口开发与调用

    ### WebService接口开发与调用 #### 一、概述 在现代软件开发中,不同系统间的通信至关重要。WebService作为一种开放标准的服务实现方式,允许不同语言编写的程序进行交互。本文档将详细介绍如何在两个Web项目中...

    Webservice接口开发简单例子

    【标题】:“Webservice接口开发简单例子” 在IT行业中,Web Service是一种基于互联网的、用于应用程序之间进行交互的标准化通信方式。本示例将探讨如何开发一个简单的Web Service接口,以便不同系统间能够共享数据...

    webservice实例

    你需要定义一个Java接口,然后使用@WebService注解标记该接口,实现接口中的方法以提供服务。 - WSDL生成:JAX-WS可以自动生成WSDL文件,描述服务的接口和消息格式,供客户端调用。 - Tomcat或Jetty等应用服务器:...

    中国移动移动代理服务器(MAS)系统接口V2.0

    这个系统接口旨在提高企业信息化效率,实现移动设备上的业务流程自动化,同时也为开发者提供了一个标准的接口来开发适用于中国移动网络环境的应用。 1. **MAS系统概述** MAS全称为Mobile Agent Server,它作为一个...

    webservice调用实例,通过HttpClient调用

    Web服务调用是软件开发中的常见任务,尤其是当我们需要跨系统、跨平台集成不同应用程序时。本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是...

    最简单的webservice接口访问实例

    在本实例中,我们将探讨如何使用Visual Studio 2008(VS2008)来创建和访问最简单的Web Service接口。VS2008是一款强大的开发工具,支持多种开发语言,如C#、VB.NET等,可以方便地创建Web Service应用程序。 一、...

    飞信WebService接口调用实例源码

    飞信WebService接口调用实例源码 功能:实时接收飞信,发送飞信,添加好友,删除好友等。 使用此飞信短信接口可以方便的在软件中集成飞信的收发功能,应用领域非常广,比如:机房监控及短信控制,新订单短信监控,...

    飞信WebService接口调用实例VB.NET源码

    飞信WebService接口调用实例VB.NET源码 功能:实时接收飞信,发送飞信,添加好友,删除好友等。 使用此飞信短信接口可以方便的在软件中集成飞信的收发功能,应用领域非常广,比如:机房监控及短信控制,新订单短信...

    工作流(WorkflowService)WebService接口使用说明.rar

    工作流(WorkflowService)WebService接口使用说明文档详细阐述了如何在泛微E8和E9版本的Ecology8、Ecology9系统中进行接口开发。这些接口主要用于企业级的工作流管理,提供了一套完整的Web服务解决方案,使得不同...

    .net调用webservice接口例子

    本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...

    泛微ecology工作流WebService接口文档

    本文档旨在详细介绍泛微Ecology工作流中所使用的WebService接口的相关知识点,包括接口的功能、参数及返回值等细节,帮助开发人员更好地理解并利用这些接口来实现系统间的高效协同。 #### 提供的接口服务 1. **...

    webservice 调用接口实例+归属地查询

    本实例主要讲解如何调用WebService接口,以“归属地查询”为例,帮助理解其工作原理和实现过程。 首先,`mobilecode.wsdl` 文件是Web服务描述语言(Web Service Description Language)文件,它定义了服务的接口、...

    webservice接口例子

    本压缩包文件提供了关于WebService接口的实例,帮助我们理解和实践这种技术。 标题中的“webservice接口例子”是指该资源包含一个或多个实际的WebService接口示例,可能涵盖了如何创建、调用以及处理响应等方面。...

    飞信WebService接口调用C#源码

    飞信WebService接口调用实例C#源码 功能:实时接收飞信,发送飞信,添加好友,删除好友等。 使用此飞信短信接口可以方便的在软件中集成飞信的收发功能,应用领域非常广,比如:机房监控及短信控制,新订单短信监控,...

Global site tag (gtag.js) - Google Analytics