我有一个 EAR 项目,部署在 WildFly 10.1.0.Final 上 这个 EAR 由一些 jar 和 war 组成。我的 jar 文件中有一个 WebService。
我无法清楚地理解如何配置我的项目。 我在谷歌和调试器上花了很多时间......所以我需要帮助)
我的目标:在ear/服务器级别的JAR中为我的EJB WebService设置默认的AuthType/Security-domain。
对于安全域,我在以下位置找到了配置:
Standalone.xml -> 子系统 xmlns="urn:jboss:domain:ejb3:4.0(服务器级别,高优先级) 标签:子系统 xmlns="urn:jboss:domain:ejb3:4.0 范围:所有 EJB
Standalone.xml -> 子系统 xmlns="urn:jboss:domain:undertow:3.0"(服务器级别,仅适用于 Undertow,高优先级) 属性:default-security-domain(服务器级别,中优先级) 范围:所有 Web 服务
在 EAR META-INF 中的 jboss-app.xml(中等优先级!) 示例:https://developer.jboss.org/thread/177666 范围:所有 EJB
EAR 子 jar 项目中的 XML 文件 jboss-ejb3.xml(低优先级) http://wildscribe.github.io/Wildfly/8.1.0.Final/subsystem/ejb3/index.html 范围:所有 EJB
WebService类上的安全域注释: 注释:org.jboss.security.SecurityDomain 范围:单个 WebService
另外,我如何理解 - ejb 属性对于 ejb beans webservices 比 webservices 属性更优先
但是我如何设置默认的 BASIC 身份验证方法?类上没有注释。我找不到( WEB-INF/web.xml 和 jboss-web.xml 不会影响我的 web 服务。
最佳答案
正在使用maven吗?
在此存储库中https://github.com/wildfly/quickstart您可以找到很多在 Wildfly 中部署的项目示例。特别是对于使用 ejb 的 Web 服务,此示例非常有用 https://github.com/wildfly/quickstart/tree/10.x/jaxws-ejb 。请注意,在此项目中需要在 jboss-web.xml 上指示上下文根:
<jboss-web>
<context-root>/yourpath</context-root>
</jboss-web>
Web服务的配置是通过注解进行的。
/**
* @author rsearls@redhat@com
*/
@Stateless
@Remote(EJB3RemoteInterface.class)
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class EJB3Bean01 implements EJB3RemoteInterface {
@WebMethod
public String echo(String input) {
return "EJB3Bean01 returning: " + input;
}
}
关于java - 如何在WildFly(耳朵中)中配置EJB WebServices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39718777/