网球

部署 Java Web 服务8

2019-09-11 12:32:28来源:励志吧0次阅读

在 JBoss 4.0.4 上部署  要在 JBoss 上部署 Web 服务,必须进行以下步骤:(请注意,我们必须使用 JBoss 4.0.4,因为在 JBoss 的早期版本上部署数组类型会出现问题。)

创建 webservices.xml 文件来描述我们的 J2EE 1.4 Web 服务部署,如下所示:  清单 3. 示例 webservices.xml 文件

<?xml version="1.0" encoding="UTF-8"?>

<webservices xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"

version="1.1">

<webservice-description>

<webservice-description-name>StatsWS</webservice-description-name>

<wsdl-file>WEB-INF/wsdl/StatsWS.wsdl</wsdl-file>

<jaxrpc-mapping-file>WEB-INF/mapping.xml</jaxrpc-mapping-file>

<port-component>

<port-component-name>StatsWS</port-component-name>

<wsdl-port>StatsServicePort</wsdl-port>

<service-endpoint-interface>

com.symmetrysolutions.statsws.StatsService

</service-endpoint-interface>

<service-impl-bean>

<!—This servlet is declared in our web.xml file -->

<servlet-link>StatsWS</servlet-link>

</service-impl-bean>

</port-component>

</webservice-description>

</webservices>

修改 web.xml 文件,以将 Web 服务端点声明为 Servlet,如下所示。请注意,正是在此处将 StatsWS 绑定到实现类。以下声明位于 web.xml 文件中,用于将实现绑定到 Servlet。  清单 4. web.xml 中的 Web 服务 Servlet 引用

<!-- This name is declared in the webservices.xml file -->

<servlet>

<servlet-name>StatsWS</servlet-name>

<servlet-class>

com.symmetrysolutions.statsws.StatsServiceImpl

</servlet-class>

</servlet>

构建并打包 Web 应用程序存档 (war),然后部署 Web 应用程序。 在 IBM WebSphere 上部署  IBM WebSphere Web 服务的构建过程与 J2EE 1.4 Web 服务类似,唯一不同的是使用了 WebSphere 特定的工具来生成所需的部署描述符(J2EE 1.4 标准 + WebSphere 特定)。要构建 WebSphere Web 服务部署描述符,您可以手动进行,也可以使用 WSDL2Java 任务来处理 Web 服务的 WSDL。在我们的示例中,由于我们决定使用 Web 服务端点的接口,因此没有 WSDL 文件。因此,WebSphere 构建过程包含两个步骤,如下所述:

使用 Java2WSDL 任务从接口创建 WSDL 文件。   从 WSDL 创建 Web 服务部署描述符。  通过完成上述任务构建了 WebSphere Web 服务后,必须将所有生成的构件(序列化类和部署描述符)打包到 war 文件中,以便能在 WebSphere 服务器上部署。

Tomcat 上的 Axis 部署

部署 Axis Web 服务需要在 Web 容器内执行 Axis 特定的命令,以告知 Axis 引擎部署 Web 服务。这在生产应用程序中可能比较困难,因为要依赖手动步骤重新启动来部署 Web 服务。为了处理此问题,可以为 Web 应用程序发布的 Web 服务发出所有部署命令,然后将生成的 service-config.wsdd 文件嵌入到 war 文件中。Axis 引擎启动时(根据 web.xml 文件中的配置设置),它会查找 service-config.wsdd 文件,并自动重新部署 Web 服务。

要部署 Axis Web 服务,需要执行以下步骤:

修改 web.xml 文件,以包含 Axis 引擎的声明(Servlet 声明),如以下的清单 5 中所示。   从 WSDL 创建 Web 服务部署描述符。  清单 5. web.xml 中的 Axis 引擎的 Servlet 声明

<!-- AXIS servlet definition -->

<listener>

<listener-class>

org.apache.axis.transport.http.AxisHTTPSessionListener

</listener-class>

</listener>

<!-- Axis servlet declaration -->

<servlet>

<servlet-name>AxisServlet</servlet-name>

<display-name>Apache-Axis servlet</display-name>

<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>

</servlet>

<!-- Servlet mappings -->

<!-- AXIS Definitions -->

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/servlet/AxisServlet</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>*.jws</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>AxisServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

打包并部署 Web 应用程序。   运行 Axis AdminService,以部署为 Web 服务生成的部署描述符。如果生成的配置未包含在 war 文件中,则必须在每次启动服务器时执行此步骤。   或者,可以将 service-config.wsdd 重新打包回 war 文件中,以供将来进行部署。这样将避免在每次启动 Axis 引擎时执行前述步骤,但是,如果打包和部署所使用的 Axis 引擎版本不同,Axis 引擎可能无法正常工作。这只应该在部署时进行,以便在 Axis 引擎发生变化的情况下能生成新的 service-config.wsdd 部署描述符。

冠心病怎样治疗最好
小孩老是便秘
汉森四磨汤适合哪些人
老人尿液浑浊怎么调理
分享到: