在 JBOSS 6.1.0 上部署 SOAP 网络服务

Deploying SOAP web-service on JBOSS 6.1.0

我在 RHEL 上使用 JBOSS final 6.1.0,在服务器上部署 servlet 没有任何问题。但是在尝试部署 SOAP 网络服务时,我无法在 http://[serverName]:8080/jbossws/ 中找到它。 首先,我为 JBOSS 6.1.0 服务器创建了动态 Web 项目 SoapTestService 并编写了简单的 Web 服务:

package com.glowbyte.soapWS;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class TestSoapService
{
    @WebMethod
    public int add(int x)
    {
        return x+1;
    }
}

我将项目导出到 TestSoapService.war 文件,将此 war 放入 [PathToJBOSS]/jboss-6.1.0.Final/server/default/deploy 并重新启动Jboss 服务器。

重启后我分析http://[ServerName]:8080/jbossws/ => 查看已部署服务列表 发现目前没有部署端点 .

请解释为什么我无法部署该服务。

通过将 web.xml 添加到包含以下内容的 WEB-INF 目录,问题已解决:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SoapTestService</display-name>
   <servlet>
    <servlet-name>TestSoapService</servlet-name>
    <servlet-class>com.glowbyte.soapWS.TestSoapService</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestSoapService</servlet-name>
    <url-pattern>/TestSoapService</url-pattern>
  </servlet-mapping>
</web-app>