0 0

请指点下Restlet2.0 post方法无法调用5

框架是restlet2.0

 

在应用的appliaciton 配置了2个路由地址。

 

在soucre写了2个post方法

 

但是只能进第一个("/sns/basicinfosyn")无法进第二个("/queueinfosyn"),并且第二个地址也路由到第一个去了。

 

是一个sourece只能有1个post方法,还是我写错了呢?请各位同道中人指点下。

 

 

public class UnitviewSycApplication extends Application{

	@Override
	public Restlet createInboundRoot() {
		Router router = new Router();
		router.attach("/sns/basicinfosyn",UnitviewSycSource.class);
		router.attach("/queueinfosyn",UnitviewSycSource.class);
		return router;
	}
	
}

 

 

public class UnitviewSycSource extends ServerResource{

	@Override
	protected void doInit() throws ResourceException {
		// TODO Auto-generated method stub
		super.doInit();
	}
	
	@Post("basicinfosyn")
	public Representation sycWblog(Representation entity){
		
		Representation re = null;
		JSONObject result = null;
		
		try {
			Form form = new Form(entity);
			System.out.println("收到同步信息");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		re = new StringRepresentation(result.toString(),MediaType.APPLICATION_JSON);
		
		re.setCharacterSet(new CharacterSet("UTF-8"));
		
		return re;
	}
	
	@Post("queueinfosyn")
	public Representation sycQueueinfosyn(Representation entity){
		Representation re = null;
		JSONObject result = null;
		
		try {
			Form form = new Form(entity);
			System.out.println("收到排队同步信息");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		re = new StringRepresentation(result.toString(),MediaType.APPLICATION_JSON);
		
		re.setCharacterSet(new CharacterSet("UTF-8"));
		
		return re;
	}
	
}

 

restlet.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://www.restlet.org/schemas/2.0/Component"  
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
               xsi:schemaLocation="http://www.restlet.org/schemas/2.0/Component"> 
    <!--   
    <client protocol="CLAP" />  
    <client protocol="FILE" />  
    <client protocols="HTTP HTTPS" />  
    <server protocols="HTTP HTTPS" port="6080"/>  
     -->  
       
    <defaultHost>  
    
       <attach uriPattern="/customers" targetClass="com.rest.test.server.study2.application.CustomerApplication" />  
       <attach uriPattern="/orders" targetClass="com.rest.test.server.study2.application.OrderApplication" />             
       <attach uriPattern="/magw" targetClass="com.rest.combat.unitview.application.UnitviewSycApplication" />  
       <attach uriPattern="/external" targetClass="com.rest.combat.magw.application.MagwQueryApplication" />
    
    </defaultHost>
</component>  
 

 

客户端调用代码如下:

 

public class UnitviewClient {
	
	public static void basicinfosyn(String url){
		ClientResource client = new ClientResource(url+"/magw/sns/basicinfosyn"); 
		try {
			Form form = new Form();
			form.add("vcid", "2");   
			form.add("dialogid","DID0001");   
			form.add("flowno","FL0001");   
			form.add("skillno","2"); 
			form.add("priority","222");   
			String result = client.post(form.getWebRepresentation()).getText();   
			System.out.println(result);   
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void queueinfosyn(String url){
		ClientResource client = new ClientResource(url+"/magw/queueinfosyn");
		try {
			Form form = new Form();
			form.add("dialogid", "DID0001");   
			form.add("flowno","FL0001");   
			form.add("queuebegintm",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis()));   
			form.add("queueendtm",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis())); 
			form.add("queueresult","1");
			form.add("operid","61113");   
			String result = client.post(form.getWebRepresentation()).getText();   
			System.out.println(result);   
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		String url = "http://133.37.147.144:6080/restStudy";
		//UnitviewClient.basicinfosyn(url);
		UnitviewClient.queueinfosyn(url);
	}
	
}
 

 

 

调用UnitviewClient.basicinfosyn(url);  是没问题的。  但是调用UnitviewClient.queueinfosyn(url); 就不行了。并且被路由到第一个方法去了。

 

 

 

2012年11月27日 17:20
目前还没有答案

相关推荐

    restlet2.0版本jee源代码

    在Restlet中,资源由一个或多个类实现,这些类处理特定的HTTP方法(如GET、POST、PUT、DELETE等)并返回适当的响应。 3. **引导器(Dispatcher)**: 引导器负责将HTTP请求路由到相应的资源。它可以基于URL路径、...

    Restlet 2.0 边学边写(八)使用jQuery和ajax实现对Restlet资源的CRUD操作

    总的来说,本篇博客通过jQuery和Ajax展示了如何在Restlet 2.0框架下实现CRUD操作,这对于开发RESTful服务和客户端应用程序是非常有价值的实践。理解这些概念和技术,将有助于你构建高效、可扩展的Web服务。

    restlet2.0+spring3.0+hibernate3.3.框架集成

    在这个场景中,我们关注的是"restlet2.0+spring3.0+hibernate3.3"的整合,这是一个经典的Java Web开发组合,分别代表了RESTful API、服务层管理和持久化层的优秀实践。 首先,让我们深入了解每个框架的核心特性: ...

    restlet-jee-2.0.6.zip_Restlet 2..0_Restlet framework2.0_org.rest

    标题"restlet-jee-2.0.6.zip_Restlet 2..0_Restlet framework2.0_org.rest"表明这是一个针对Java企业版(Java EE)的Restlet框架2.0.6版本的压缩包,其中包含了与org.restlet相关的组件。 描述中的"restlet框架所需...

    restlet处理各种请求方式参考示例

    在Restlet中,可以通过`post`方法处理此类请求: ```java @Override @Post public void post(Representation entity) { try { // 解析提交的数据 String data = entity.getText(); // 处理数据 // ... // ...

    Restlet Client 插件安装包

    1. **请求构造**: `Restlet Client`允许用户手动输入或选择HTTP方法(GET、POST、PUT、DELETE等),设置URL,添加查询参数,以及定义HTTP头信息。对于POST、PUT等需要提交数据的方法,它支持多种数据格式,如JSON、...

    RESTLET开发

    实现一个具体的资源类`StudentResource`,该类需要继承自`javax.ws.rs.core.Resource`,并在其中定义RESTful方法(如`GET`、`POST`等)来处理客户端请求。 #### 四、总结 通过上述步骤,我们可以构建出一个基本的...

    restlet

    REST是一种轻量级的架构风格,广泛应用于互联网应用的开发,它强调通过简单的HTTP方法(如GET、POST、PUT、DELETE)来操作资源,以实现高效、可扩展的网络通信。 RESTlet框架提供了客户端和服务器端的组件,使得...

    Restlet开发的Basic认证

    Restlet是一个轻量级的Java Web服务开发框架,它提供了构建RESTful(Representational State Transfer)应用程序的工具和API。REST是一种架构风格,强调简洁、无状态和可缓存的网络交互,常用于构建高性能、高可用性...

    Restlet in action 中文

    同时,书中还介绍了Restlet框架2.0版,包括其主要特性和整体架构。 **第二部分 Getting ready to roll out**进一步深入,讲解了如何设计和使用Restlet representations,确保安全性,以及如何文档化和管理RESTful ...

    restlet restful

    Restlet是Java领域的一款开源框架,专门用于构建REST(Representational State Transfer)风格的Web服务。RESTful是一种软件架构风格,设计模式,是基于HTTP协议的Web服务设计原则,强调资源的概念,通过URI来定位...

    restlet工程示例

    Restlet是一个开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种轻量级的架构风格,常用于构建互联网应用,强调资源的识别、无状态和统一的接口。在本示例中,我们将深入探讨...

    restlet项目

    通常,这样的项目会有一个简单的服务器端应用,展示了如何使用Restlet API来创建资源、处理HTTP方法(如GET、POST等)并返回响应。 Restlet框架主要由以下几个核心组件构成: 1. **Restlet**: 是框架的基本构建块...

    restlet实现最简单的restful webservice

    Restlet是一款开源框架,专为构建RESTful Web服务和客户端应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛用于构建互联网应用,因为它提供了高效、分布式的系统设计原则。本文...

    RESTlet自用2

    总的来说,RESTlet自用2可能是一个基于RESTlet 2.0版本并结合Spring框架的个人项目,该项目可能涉及到了RESTful服务的开发、JAX-RS标准的实现以及Spring的集成。相关的学习资料,如"MHT"文件和"PPT",提供了理论知识...

    谷歌Restlet Client插件

    2. **参数管理**:对于需要发送数据的请求(如POST、PUT),Restlet Client提供了友好的界面来添加和编辑查询参数、路径参数和请求体。可以使用JSON、XML或纯文本格式输入数据,确保与服务器端接口匹配。 3. **预览...

    Restlet开发实例

    在这个实例中,你将学习如何使用Restlet框架结合JAX-RS来定义资源、处理HTTP方法(如GET、POST、PUT、DELETE等)以及如何处理JSON或XML数据。Restlet提供了JAX-RS兼容的组件,使得开发者可以轻松地在Restlet环境中...

    org.restlet-2.3.0.jar 最新版本

    《深入理解org.restlet-2.3.0.jar:Java RESTful开发的得力助手》 在Java开发领域,REST(Representational State Transfer)架构风格已经成为构建Web服务的主流选择,而org.restlet-2.3.0.jar则是实现RESTful API...

Global site tag (gtag.js) - Google Analytics