Maven 带有Arquillian的嵌入式Glassfish 4.1.1上的错误代码500
我对javaee和Arquillian还很陌生。如果我想将我的简单项目部署到嵌入式glassfish 4.1.1服务器中,我会遇到问题。我可以成功地通过部署,但无法访问我实现的方法。我得到的错误代码是500,而我预期是200 我的部署:Maven 带有Arquillian的嵌入式Glassfish 4.1.1上的错误代码500,maven,jakarta-ee,glassfish,jboss-arquillian,Maven,Jakarta Ee,Glassfish,Jboss Arquillian,我对javaee和Arquillian还很陌生。如果我想将我的简单项目部署到嵌入式glassfish 4.1.1服务器中,我会遇到问题。我可以成功地通过部署,但无法访问我实现的方法。我得到的错误代码是500,而我预期是200 我的部署: public class AuthTest { @Deployment(testable = false) public static WebArchive createDeployment() { System.out.
public class AuthTest
{
@Deployment(testable = false)
public static WebArchive createDeployment()
{
System.out.println("\nin createDeployment");
// File[] libs = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeAndTestDependencies().asFile();
WebArchive archive = ShrinkWrap.create(WebArchive.class, "ArquillianHepInterface.war")
.addClasses(AuthEndpoint.class)
.addPackage(Database.class.getPackage())
.addPackage(DeviceAccessDBEntry.class.getPackage())
.addPackage(WebsiteAccessDBEntry.class.getPackage())
.addPackage(DeviceInfo.class.getPackage())
.addPackage(LoginInfo.class.getPackage())
.addPackage(ResponseBoolean.class.getPackage())
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
.addAsWebInfResource(new File("src/main/webapp", "WEB-INF/web.xml"))
.addAsWebInfResource(new File("src/main/webapp", "WEB-INF/glassfish-web.xml"))
.addAsResource("META-INF/persistence.xml")
// .addAsLibraries(libs)
;
System.out.println("\nende createDeployment");
return archive;
}
@ArquillianResource
protected URL contextPath;
@Test
public void registerUUIDTest()
{
DeviceInfo newUser = new DeviceInfo();
newUser.setDate("2014-12-12");
newUser.setUuid("xyz");
Response i = expect().statusCode(200).when().given().
contentType("application/json").body(newUser)
.post(this.contextPath + "AUTHENTICATION/CREATEMOBILELOGIN")
;
}
我的AuthEndpoint类:
@Path("/AUTHENTICATION")
public class AuthEndpoint
{
@Inject
private DatabaseInterface database;
@POST
@Produces({ "application/json" })
@Consumes({ "application/json" })
@Path("CREATEMOBILELOGIN")
public LoginInfo createMobileLogin(DeviceInfo info)
{
System.out.println("RICHTIGES FILE");
System.err.println();
LoginInfo response = null;
if (info != null && info.getUuid() != null)
{
String password = this.database.registerDevice(info.getUuid());
if (password != null)
{
response = new LoginInfo();
response.setPw(password);
response.setUuid(info.getUuid());
}
}
return response;
}
}
我得到:
严重:WebModule[/ArquillianHepInterface]StandardWrapper.Throwable
为什么会这样?我不明白我的问题在哪里。。。
我想我在使用glassfish 4.1.1时遇到了问题。。。?我只想通过Arquillian TestClass调用AuthEndpoint类中的方法,以验证是否已创建了单个
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Arquillian Rest Demo</display-name>
<servlet>
<display-name>JAX-RS REST Servlet</display-name>
<servlet-name>REST-Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>REST-Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
阿奎利安休息演示
JAX-RSRESTservlet
RESTservlet
com.sun.jersey.spi.container.servlet.ServletContainer
RESTservlet
/*
glassfish-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<context-root>/ArquillianHepInterface</context-root>
<class-loader delegate="true" />
</glassfish-web-app>
/阿奎利安接口
我的beans.xml文件为空
AuthEndpoint使用的方法在另一个maven项目中,我已经编译并添加到maven依赖项中。。。
非常感谢您的帮助……能否添加异常的完整堆栈跟踪?能否添加异常的完整堆栈跟踪?