我有一个EAR项目,部署在WildFly 10.1.0.Final上 这个EAR包括一些罐子和战争。我的jar文件中有一个WebService。
我无法清楚地了解如何配置我的项目。 我花了很多时间在谷歌和调试器......所以我需要帮助)
我的目标:在耳/服务器级别的JAR中为我的EJB WebService设置默认的AuthType / Security-domain。
对于Security-domain,我在以下位置找到了配置:
Standalone.xml - > subsystem xmlns =" urn:jboss:domain:ejb3:4.0(服务器级别,HIGHT优先级) tag:subsystem xmlns =" urn:jboss:domain:ejb3:4.0 范围:所有EJB
Standalone.xml - >子系统xmlns =" urn:jboss:domain:underow:3.0" (服务器级别,仅适用于Undertow,HIGHT优先级) attribute: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属性
但是如何设置默认的auth metod BASIC?没有关于类的注释。我找不到( WEB-INF / web.xml和jboss-web.xml不会影响我的网络服务。
答案 0 :(得分:0)
正在使用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;
}
}
答案 1 :(得分:0)
web.xml中的属性仅适用于war部署。 我发现只有一种方法可以使用webservices配置ejb jar部署(在一个地方用于所有endopoints和部署)。
众所周知,WildFly使用 Undertow 。 我们可以定义 Servlet扩展:http://undertow.io/undertow-docs/undertow-docs-1.2.0/#servlet-extensions
添加src / main / resources / META-INF / services / io.undertow.servlet.ServletExtension。 然后,在此文件中添加我们的UndertowDeploymentExtension(实现 ServletExtension )。
然后,添加 handleDeployment 方法,例如: deploymentInfo.setLoginConfig (new LoginConfig(javax.servlet.http.HttpServletRequest.BASIC_AUTH,REALM_NAME));
现在,我们使用自定义LoginConfig初始化没有LoginConfig的jar部署(我们可以省略@WebContext)。 有关更多信息,您可以在 WebMetaDataCreator.createLoginConfig (wildfly-webservices-server-integration-10.1.0.Final.jar)进行调试
此外,您可以阅读以下建议:http://lists.jboss.org/pipermail/undertow-dev/2016-December/001801.html