Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在WildFly(ear)中配置EJB Web服务_Java_Web Services_Ejb_Wildfly_Undertow - Fatal编程技术网

Java 如何在WildFly(ear)中配置EJB Web服务

Java 如何在WildFly(ear)中配置EJB Web服务,java,web-services,ejb,wildfly,undertow,Java,Web Services,Ejb,Wildfly,Undertow,我有一个EAR项目,部署在WildFly 10.1.0.Final上 这个耳朵由一些罐子和战争组成。我的jar文件中有一个WebService 我不清楚如何配置我的项目。 我花了很多时间在谷歌和调试器上。。。所以我需要帮助) 我的目标:在ear/服务器级别的JAR中为我的EJB Web服务设置默认的AuthType/安全域 对于安全域,我在以下位置找到了配置: Standalone.xml->subsystem xmlns=“urn:jboss:domain:ejb3:4.0(服务器级别,高优

我有一个EAR项目,部署在WildFly 10.1.0.Final上 这个耳朵由一些罐子和战争组成。我的jar文件中有一个WebService

我不清楚如何配置我的项目。 我花了很多时间在谷歌和调试器上。。。所以我需要帮助)

我的目标:在ear/服务器级别的JAR中为我的EJB Web服务设置默认的AuthType/安全域

对于安全域,我在以下位置找到了配置:

  • Standalone.xml->subsystem xmlns=“urn:jboss:domain:ejb3:4.0(服务器级别,高优先级) tag:subsystem xmlns=“urn:jboss:domain:ejb3:4.0 作用域:所有EJB

  • Standalone.xml->subsystem xmlns=“urn:jboss:domain:undertow:3.0”(服务器级别,仅适用于undertow,高优先级) 属性:默认安全域(服务器级别,中等优先级) 范围:所有Web服务

  • 在EAR META-INF中的jboss-app.xml(中等优先级!)中 例子: 作用域:所有EJB

  • EAR子jar项目中的XML文件jboss-ejb3.XML(低优先级) 作用域:所有EJB

  • WebService类上的安全域批注: 注释:org.jboss.security.SecurityDomain 范围:单一Web服务

另外,我如何理解ejb属性对ejb bean Web服务的优先级高于Web服务属性

但是如何设置默认的auth metod BASIC?在类上没有注释。我找不到( WEB-INF/WEB.xml和jboss-WEB.xml对我的WEB服务没有影响。

正在使用maven吗

在该存储库中,您可以找到许多要在wildfly中部署的项目示例。特别是对于使用ejb的web服务,此示例非常有用。请注意,在该项目中,必须在jboss-web.xml上指明上下文根:

<jboss-web>
    <context-root>/yourpath</context-root>
</jboss-web>
}是否正在使用maven

在该存储库中,您可以找到许多要在wildfly中部署的项目示例。特别是对于使用ejb的web服务,此示例非常有用。请注意,在该项目中,必须在jboss-web.xml上指明上下文根:

<jboss-web>
    <context-root>/yourpath</context-root>
</jboss-web>

}

web.xml中的属性仅适用于战争部署。 我发现只有一种方法可以使用webservices配置ejbjar部署(在一个地方用于所有内部点和部署)

正如我们所知,WildFly使用下拖。 我们可以定义Servlet扩展:

添加src/main/resources/META-INF/services/io.undertow.servlet.ServletExtension。 然后,在这个文件中添加我们的UndertowDeploymentExtension(它实现了ServletExtension

然后,添加handleDeployment方法,如下所示: deploymentInfo.setLoginConfig(新的LoginConfig(javax.servlet.http.HttpServletRequest.BASIC_AUTH,REALM_NAME))

现在,不带LoginConfig的jar部署将使用自定义LoginConfig进行初始化(我们可以使用ommit@WebContext)。 有关更多信息,您可以在WebMetaDataCreator.createLoginConfig上调试(wildfly-webservices-server-integration-10.1.0.Final.jar)

要快速预览,请执行以下操作:


此外,您还可以从以下位置阅读此建议:

web.xml中的属性仅适用于war部署。 我发现只有一种方法可以使用webservices配置ejbjar部署(在一个地方用于所有内部点和部署)

正如我们所知,WildFly使用下拖。 我们可以定义Servlet扩展:

添加src/main/resources/META-INF/services/io.undertow.servlet.ServletExtension。 然后,在这个文件中添加我们的UndertowDeploymentExtension(它实现了ServletExtension

然后,添加handleDeployment方法,如下所示: deploymentInfo.setLoginConfig(新的LoginConfig(javax.servlet.http.HttpServletRequest.BASIC_AUTH,REALM_NAME))

现在,不带LoginConfig的jar部署将使用自定义LoginConfig进行初始化(我们可以使用ommit@WebContext)。 有关更多信息,您可以在WebMetaDataCreator.createLoginConfig上调试(wildfly-webservices-server-integration-10.1.0.Final.jar)

要快速预览,请执行以下操作:


另外,您可以从以下位置阅读此建议:

尝试使用
jboss webservices.xml
描述符。查看我们从webservices模式得到的负一在哪里:我不能在这里使用通配符。定义所有ejb webservices对我们来说是非常多余的。但是感谢这个示例,因为有人可以尝试此解决方案。我正在等待其他建议使用
jboss webservices.xml
descriptor试试。看看webservices模式中的减号在哪里:我不能在这里使用通配符。定义所有ejb webservices对我们来说是非常多余的。但是感谢这个例子,因为有人可以尝试这个解决方案。我正在等待其他建议。