gpt4 book ai didi

java - 消息级 Jax-WS 服务

转载 作者:行者123 更新时间:2023-11-30 05:05:40 25 4
gpt4 key购买 nike

我正在尝试创建一个 WebService stub 。我喜欢在一个地方对所有请求使用react。我有一个示例值生成器,它处理请求的类型并创建示例响应,因此我不需要使用大量类进行代码生成。只有一个非常简单的。

我找到了http://jax-ws.java.net/nonav/2.2.1/docs/provider.html WebServiceProvider 正是用于获取原始 SOAP 消息,并在单个位置创建响应。

主要问题是我是这个神奇的 EE 世界的新手:)并且我根本无法启动 WebServiceProvider 示例。

我安装/配置了 Spring、SpringSource ToolSuit、Axis,所有其他东西都在工作。

感谢大家的帮助,如果问题对你们来说太简单,请原谅。也许我只是没有找到/读到一些东西。米。

最佳答案

终于找到解决办法了(感谢同事的帮助)。如果您使用 JAX-WS,有一个简单的解决方案。

您的 WEB-INF 文件夹中需要有一个 sun-jaxws.xml,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
<endpoint
name="RawWS"
implementation="com.stg.pack.MyServiceProvider"

url-pattern="/HotelServices200631"/>
</endpoints>

您需要一个 com.stg.pack.MyServiceProvider 类,如下所示:

package com.stg.pack;

@ServiceMode(value = Service.Mode.MESSAGE)
@WebServiceProvider(portName = "ThePortNameOfWebService",
serviceName = "TheNameOfWebService",
targetNamespace = "http://www.example.com/target/namespace/uri")
public class MyServiceProvider implements Provider<SOAPMessage> {

@Override
public SOAPMessage invoke(SOAPMessage request) {
SOAPMessage result = null;
// create response SOAPMessage
return result;
}
}

在我忘记之前,您需要在 web.xml 中定义一些内容:

   <listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>RawWS</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>

</servlet>
<servlet-mapping>
<servlet-name>RawWS</servlet-name>
<url-pattern>/TheNameOfWebService</url-pattern>
</servlet-mapping>

如果你像这样使用它,所有的请求都由invoke方法处理。

关于java - 消息级 Jax-WS 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5181194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com