标题说明了一切。
我有一个简单的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吗?如果是这样,我该怎么做才能使它发挥作用?
感谢。