我正在创建一个简单的restful服务并使用soapui进行测试。 每次我收到错误:500:内部服务器错误。 在服务器日志中,它显示未找到的类。添加罐子它开始冲突。 我认为这只是罐子问题,但不知道确切的罐子。
web.xml: -
com.springsource.org.objectweb.asm_2.2.3.jar
jersey-client.jar
jersey-core.jar
jersey-gf-server.jar
罐子: -
package com.service;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/cal/")
public class RestService {
@GET
@Path("/one/")
@Produces("application/xml")
public String sanction(){
return new Sanction().servesRequest();
}
}
Java代码: -
Class SomeClass
{
public string MethodName()
{
//Some Code
While(conditions)
{
//More Code
string X;
X = "string stuff";
return X;
}
}
}
wadl路径: - http://localhost:8090/Service/rest/application.wadl
我曾尝试更换罐子,改变球衣servlet类名,eclipse,netbeans等等但无法在地板上使用它。
答案 0 :(得分:1)
这是罐子问题。 我正在从https://jersey.java.net/download.html下载jar,其中包含3个文件夹,即api,ext,lib但是我没有错误地使用这些文件夹中的所有jar。 我还必须更改web.xml,因为这些jar用于jersey2.19所以新的web.xml就像
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>Service</display-name>
<servlet>
<servlet-name>REST Web </servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.service</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Web </servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>