JBOSS webservice注释

时间:2010-01-29 19:29:27

标签: java jboss web-services jax-ws annotations

背景

我正在尝试使用SOAP和JBOSS创建一个Web服务。我知道要创建一个像你这样的网络服务:

import javax.jws.WebService;

@WebService
public class HelloImpl {

  /**
   * @param name
   * @return Say hello to the person.
   */
   public String sayHello(String name) {
     return "Hello, " + name + "!";
   }
}

我一般理解java注释的工作原理:

@nnotations由Java语言定义。 Annotation是一个类。当您使用注释标记某些内容时,编译器和运行时会通过java反射安排该类的对象在运行时可见。

感谢来自this线程的bmargulies。

我不确定jboss对注释的作用。

问题1 :我认为jboss会根据注释生成xml或wsdl。它是否正确? 注意:我指的是@Webservice,@ WebContent,@ SecurityDomain,@ Stateless等标签

问题2 :如果jboss确实生成了xml或wsdl,我是否需要注释?我可以自己创建该文件吗?

类似页面:

2 个答案:

答案 0 :(得分:1)

您应该更多地将注释视为XML配置文件的替代/替代。当JBoss启动时,它只扫描整个类路径以查找具有特定注释的类,然后在内存中加载/实例化/映射它们。如果这里没有使用注释,JBoss将只解析和读取XML配置文件以获取特定类所在的提示和/或如何处理它们,然后以大致相同的方式在内存中加载/实例化/映射它们。 / p>

您可以自己定义XML配置文件。您甚至可以将其与注释同时使用,但请记住,XML配置文件(通常)超出/覆盖相同的配置,这些配置在注释的风格中定义 - 如果有的话。这是因为XML配置文件是外部可控的,无需一次又一次地重写/重新构建/重新部署所有Java代码。 JBoss 根据带注释的类生成XML文件。

答案 1 :(得分:1)

  1. JBoss的Web服务堆栈只是JAX-WSJSR 224)的一个实现。 JBoss应该为你生成WSDL,通常可以在webservice的URL上访问,并在末尾添加?wsdl。

  2. WSDL并不是这些注释的唯一功能。他们还告诉JBoss您的类实现了一个或多个Web服务。

  3. JavaEE教程有一个关于Web Services with JAX-WS的部分,它解释了它们如何更详细地工作。