Glassfish 4.1:内耳战争不会暴露网络服务

时间:2015-05-08 09:48:45

标签: java web-services glassfish glassfish-4

我目前正在努力将应用程序从Java7上运行的Glassfish 3.1.2.2升级到Java8上运行的Glassfish 4.1。该应用程序打包为ear个文件,其中包含ejb-jarwarwar反过来包含一些webservices

Glassfish 3.1.2.2中,部署ear会导致war曝光一些webservices。但是,当我在ear部署Glassfish 4.1时,没有公开webservice。在ear中列出Glassfish的组件时,war未在webservices中列出web(仅4.1)(但是3.1.2.2)。

我尝试将war - 文件部署为独立应用程序,在执行此操作时,webservices可用。

有没有人知道在使用Glassfish 4.1通过webservices文件部署ear时是否存在已知错误?

说到变化,我已经升级了一些依赖项,但据我所知,没有什么可以影响它。

我的application.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
<application>
  <display-name>myApplication-ear</display-name>
  <description>myApplication</description>
  <module>
    <ejb>myApplication-ejb-5.2-SNAPSHOT.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>myApplication-war-5.2-SNAPSHOT.war</web-uri>
      <context-root>/myApplication-war</context-root>
    </web>
  </module>
</application>

1 个答案:

答案 0 :(得分:1)

问题是旧依赖:

  <dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.2.7</version>
  </dependency>

我删除了它,因为它已经包含在java安装中的rt.jar中。 不知怎的,Glassfish根本没有处理这个问题,webservices根本没有工作,并且在server.log中没有错误的痕迹。