【问题标题】:Creating a Webservice in JBoss AS 7 using annotations使用注解在 JBoss AS 7 中创建 Web 服务
【发布时间】:2013-02-21 01:39:24
【问题描述】:

我有一个包含嵌套 EJB 项目的 EAR 文件、一个 .war 动态 Web 项目和一个包含实体 bean 定义的 .jar 文件。

我正在尝试使用这个远程接口创建一个简单的基于 SOAP 的 Web 服务:

package session;

import javax.ejb.Remote;
import javax.jws.WebMethod;
import javax.jws.WebService;

@Remote
@WebService
public interface HelloWorldRemote {
    @WebMethod
  public String greet(String from);
    @WebMethod
  public String getMessage();
}

还有这个实现类:

package session;

import javax.ejb.Stateless;
import javax.jws.WebService;

@Stateless
@WebService(endpointInterface = "session.HelloWorldRemote", serviceName = "HelloWorldWS")
public class HelloWorldImpl implements HelloWorldRemote {

  public String greet(String from) {
    return "Hello, " + from + ".";
  }

  public String getMessage() {
    return "It's working.";
  }
}

但是,当我部署 EAR 文件时,日志没有提及任何类、WSDL、Web 服务或任何让我相信它正在尝试根据我的注释创建 Web 服务的内容。

我错过了什么?

【问题讨论】:

    标签: java web-services annotations java-ee-6 jboss7.x


    【解决方案1】:

    这花了很长时间才发现,我很偶然发现它。我发现一个论坛解释说我需要使用“--server-config=standalone-preview.xml”标志来启用对某些 JBoss 功能的支持。在尝试找出可以找到/获取standalone-preview.xml 的位置后,我了解到我一直在使用错误版本的 JBoss。

    与直觉相反,JBoss 7 的“Web”配置文件不支持 Web 服务。 (至少不是那些 JAX-WS 变体。)

    解决方案是下载“Everything”配置文件,然后使用上述标志。如果您像我一样在 Eclipse 中工作,您可以通过在底部的“服务器”选项卡中双击您的服务器,然后点击“打开启动配置”来添加标志。

    我希望我节省了其他人的时间,就像我在追踪这件事上所花费的时间一样。

    【讨论】:

      【解决方案2】:

      您是否在战争的web.xml 中注册了您的网络服务?

       <servlet>
          <servlet-name>HelloWorldImpl</servlet-name>
          <servlet-class>session.HelloWorldImpl</servlet-class>
       </servlet>
       <servlet-mapping>
          <servlet-name>HelloWorldImpl</servlet-name>
          <url-pattern>/*</url-pattern>
       </servlet-mapping>
      

      【讨论】:

      • 显然使用 JAX-WS 时不需要这一步?现在我已经安装并配置了正确版本的 JBoss,上面列出的注释似乎可以正常工作。不过还是谢谢你的建议!
      • 是的,至少在 WildFly 10/JBoss EAP 5 到 7 中不再需要它 - 注释应该足够了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      相关资源
      最近更新 更多