我可以使用Restlet替代Jersey吗?

时间:2014-01-11 04:37:26

标签: rest jersey restlet

标题说明了一切。

我有一个简单的REST Web服务:一个包含四种方法的类。三个GET和一个POST。我需要替换Jersey,因为POST方法调用SOAP Web服务并且该调用超时。我知道SOAP客户端是正确的,因为我可以从Eclipse中的JUnit和JSE客户端运行它。当我在POST REST Web服务中运行相同的代码时,它会超时。

我想看看RESTlet是否会发生这种情况。问题是RESTlet不会将GET和POST请求转发到我的Java类的方法。

第一个问题:RESTlet JSR-339是否兼容?如果没有,那么谢谢,但不,谢谢。如果是的话请继续阅读。

也许我错过了一些东西,因为我不得不拼凑我在谷歌找到的东西,因为RESTlet网站没有展示如何将Jersey REST Web服务迁移到RESTlet。

以下是我对pom.xml和web.xml所做的更改:

<dependency>
    <groupId>org.restlet.jee</groupId>
    <artifactId>org.restlet</artifactId>
    <version>2.1.6</version>
</dependency>
<dependency>
    <groupId>org.restlet.jee</groupId>
    <artifactId>org.restlet.ext.jaxrs</artifactId>
    <version>2.1.6</version>
</dependency>
<dependency>
    <groupId>org.restlet.jee</groupId>
    <artifactId>org.restlet.ext.servlet</artifactId>
    <version>2.1.6</version>
</dependency>

的web.xml:

<servlet>
  <servlet-name>RestletServlet</servlet-name>
  <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
</servlet>

<!-- Catch all requests -->
<servlet-mapping>
  <servlet-name>RestletServlet</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

我的Web服务未被调用,但Tomcat控制台有一些输出:

Jan 10, 2014 9:06:14 PM org.restlet.engine.log.LogFilter afterHandle
INFO: 2014-01-10        21:06:14        127.0.0.1       -       127.0.0.1
8080    GET     /mtprest/Product/part   partNumberPrefix=1234   404     0
0       0       http://localhost:8080   Mozilla/5.0 (Windows NT 6.1; WOW64) Appl
eWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36    http://l
ocalhost:8080/mtp/indexProduct?product_param=&&searchCriteria=&&searchFlag=None&
&startRecord=1&serialNumber=localserialNumber

我可以使用RESTlet替代Jersey吗?如果是这样,我该怎么做才能使它发挥作用?

感谢。

0 个答案:

没有答案