java - 网络服务网址

标签 java jboss

我有一个 EAR 项目,它的名称中包含我的应用程序的版本号。在其中我有一个用于我的 session bean 的 JAR(JAR 的名称中也有一个版本号)。在那个 jar 里,我有一个网络服务实现。

到目前为止一切顺利。问题是 WSDL 的路径类似于:host:port/application_name_and_version-jar_name_and_version/WS_name?WSDL。这意味着每次出现新版本时,都必须调整 WS 客户端。

这一切都部署在 JBoss 中。

问题是,如何更改 URL 使其不包含版本号?我认为它与部署描述符有关,但到目前为止我找不到任何有用的信息。

最佳答案

我会创建一个仅包含 Web 服务实现的 .war 文件,然后在 .ear 文件的 application.xml 中为 war 提供它自己的上下文根。 .例如:

<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd">

  <module>

shared-code.jar

  <module>
    <ejb>my-ejbs.jar</ejb>
  </module>

  <module>

<网络> my-web-service.war webserviceroot
<库目录>lib

对于格式,我很抱歉,在稍微弄乱之后,我无法让 StackOverflow 从上面创建一个连续的代码块。

无论如何,如果您像那样部署 .ear 文件,那么您应该能够访问 http://host:port/webserviceroot/...相反。

关于java - 网络服务网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15024475/

相关文章:

java - 有限状态机中的返回语句

针对 JAX-RS 接口(interface)的 HTML5/Javascript 身份验证

java - JBoss 类型转换问题

postgresql - Jboss-cli: JBAS014653 ("Expected [OBJECT] but was LIST") 尝试添加数据源时

java - HttpServletRequest.getServerName() 在并发使用中偶尔返回 null?

java - hibernate 3.6.7 orphanRemoval 级联单向

java - 为什么 List.remove(int) 会抛出 java.lang.UnsupportedOperationException?

java - micronaut 的 @AuthenticationPrincipal 替代方案是什么?

java - Eclipse java 创建未知类文件

html - Orbeon Form Runner iFrame 问题