@Stateless
@WebService(endpointInterface = "ena.access.ticketsservices.facade.ITicketsRoleMappingsFacade")
@DeclareRoles({ "User", "Guest", "ProjectAdmin", "Admin" })
public class TicketsRoleMappingsFacade implements ITicketsRoleMappingsFacade {
...
}
接口:
@WebService(name = "TicketsRoleMappingsFacade")
public interface ITicketsRoleMappingsFacade {
@WebMethod
@WebResult(name = "createProjectResult")
public Project createProject(@WebParam(name = "createproject") Project project);
}
下面的xml文件是glassfish配置文件。
application.xml
<?xml version="1.0" encoding="UTF-8"?>
<application
version="6"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">
<display-name>j2ee-ear</display-name>
<module>
<ejb>j2ee-ejb.jar</ejb>
</module>
<security-role>
<role-name>User</role-name>
</security-role>
<security-role>
<role-name>Guest</role-name>
</security-role>
<security-role>
<role-name>ProjectAdmin</role-name>
</security-role>
<security-role>
<role-name>Admin</role-name>
</security-role>
<library-directory>lib</library-directory>
</application>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-application PUBLIC -//GlassFish.org//DTD GlassFish Application Server 3.1 Java EE Application 6.0//EN http://glassfish.org/dtds/glassfish-application_6_0-1.dtd>
<glassfish-application>
<security-role-mapping>
<role-name>User</role-name>
<group-name>User</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>Guest</role-name>
<group-name>Guest</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>ProjectAdmin</role-name>
<group-name>ProjectAdmin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>Admin</role-name>
<group-name>Admin</group-name>
</security-role-mapping>
<realm>someRealm</realm>
</glassfish-application>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-ejb-jar PUBLIC -//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd>
<glassfish-ejb-jar>
<security-role-mapping>
<role-name>User</role-name>
<group-name>User</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>Guest</role-name>
<group-name>Guest</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>ProjectAdmin</role-name>
<group-name>ProjectAdmin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>Admin</role-name>
<group-name>Admin</group-name>
</security-role-mapping>
<enterprise-beans>
<ejb>
<ejb-name>TicketsRoleMappingsFacade</ejb-name>
<webservice-endpoint>
<port-component-name>TicketsRoleMappingsFacade</port-component-name>
<port-component-uri>/TicketsRoleMappingsFacade</port-component-uri>
</webservice-endpoint>
</ejb>
</enterprise-beans>
</glassfish-ejb-jar>
[#|2013-08-03T17:23:57.322+0200|INFO|glassfish3.1.1|javax.enterprise.webservices.org.glassfish.webservices|_ThreadID=17;_ThreadName=Thread-2;|WS00019: EJB Endpoint deployed j2ee-ear listening at address at http://localhost:9999/TicketsRoleMappingsFacadeService/TicketsRoleMappingsFacade|#]
java.lang.IllegalArgumentException: contextRoot must not be null
at org.jboss.arquillian.container.spi.client.protocol.metadata.Servlet.<init>(Servlet.java:48)
at org.jboss.arquillian.container.glassfish.clientutils.GlassFishClientService.resolveWebModuleSubComponents(GlassFishClientService.java:357)
at org.jboss.arquillian.container.glassfish.clientutils.GlassFishClientService.doDeploy(GlassFishClientService.java:227)
at org.jboss.arquillian.container.glassfish.CommonGlassFishManager.deploy(CommonGlassFishManager.java:101)
at org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestDeployableContainer.deploy(GlassFishRestDeployableContainer.java:71)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at
....
我没有任何用于此测试设置的.war文件,如何为web服务指定contextRoot?
如果没有WAR(web应用程序),理论上就不需要application.xml。我的建议,试着把它删掉。
应用程序在glassfish中的成功部署并不意味着它在Arquillian中会起作用。Arquillian在文件名和上下文根上有一些问题(我在WAR文件上有这个问题)
根据JavaEE 6文档,EAR通常用于绑定WAR和EJB。所以,理论上,如果你没有战争,你就不需要耳朵。您可以直接部署EJB。
我试图为用Spring编写的REST服务设置一个简单的Arquillian测试。下面是我的SpringBoot应用程序: 和控制器:
比较早之前,部署 Java web 服务只是单纯使用 Tomcat 做 Web 服务器,前后端代码融合在一个工程之中。Tomcat 启动后对外提供一个端口接收和相应 http请求。随着 Nginx 的越来越流行,同时加上其优秀的反响代理和负载均衡功能,我们在线上的 Java web 通常会结合二者,即使用 Nginx + Tomcat 的方式来部署 Java web 服务。最近两年,随着微服务化和
本文档用来说明通过预编译好的安装包来安装并运行基于 MySQL/MariaDB 的 Seafile 服务器。(MariaDB 是 MySQL 的分支) 下载 到下载页面下载最新的服务器安装包. 部署和目录设计 假设你公司的名称为 haiwen, 你也已经下载 seafile-server_1.4.0_* 到你的 home 目录下。 我们建议这样的目录结构: mkdir haiwen mv seaf
本文档详细介绍如何使用预编译好的软件包来安装和运行 Seafile 服务器。 下载 到下载页面下载最新的服务器安装包. 部署和目录结构 注意: 如果你把 Seafile 文件放在一个外部存储的目录里(比如NFS,CIFS),你应该使用 MySQL 而不是 SQLite 来作为数据库。请参考下载和安装Seafile服务器(使用MySQL)。 假设你公司的名称为”haiwen”,你也已经下载 seaf
我在RHEL上使用JBOSS final 6.1.0,在服务器上部署servlet没有问题。但在尝试部署SOAP web服务时,我在http://[serverName]:8080/jbossws/中找不到它。首先,我为JBOSS 6.1.0服务器创建了动态web项目SoapTestService,并编写了简单的web服务: 我导出项目到TestSoapService.war文件,把这个战争到[P
我正在编写一个简单的RESTful Web服务,使用Java、tomcat7、jersey和IDE eclipse。 当我使用eclipse(服务器)启动web服务时,它运行良好。我测试了GET和POST方法。但当我在WAR文件中导出应用程序并使用tomcat manage UI部署时。它返回404 not found状态。 下面是一个例子: 这里是网络。xml: 有人能解释在eclipse中启动