java - Spring,@WebService/@WebMethod,(使用Jax-WS),接收序列化对象?

标签 java web-services spring serialization jax-ws

通过遵循使用 Jax-WS 的教程,我逐渐拼凑出如何在 Spring 中接收序列化对象,并获得了一个可以运行的 Web 服务。我已经验证我可以通过浏览器访问此基本服务,方法是使用 http://localhost:8080/WebServicesExample/hello?wsdl

等 url 拉出 XML 页面

我目前拥有的代码如下所示,但是我想创建一个服务,以便可以传入序列化对象,例如 HashMap,然后让 spring 反序列化它,等等。我已经做了很多读过这篇文章,但我仍然有点迷失,如果有人能提供建议,如何从我目前所处的位置转向我正在尝试做的事情,我将不胜感激。谢谢

import javax.jws.WebMethod;
import javax.jws.WebService;

import com.mkyong.bo.HelloWorldBo;

@WebService
public class HelloWorldWS{

    //DI via Spring
    HelloWorldBo helloWorldBo;

    @WebMethod(exclude=true)
    public void setHelloWorldBo(HelloWorldBo helloWorldBo) {
        this.helloWorldBo = helloWorldBo;
    }

    @WebMethod(operationName="getHelloWorld")
    public String getHelloWorld() {

        return helloWorldBo.getHelloWorld();

    }

}

最佳答案

我不完全确定您使用哪个 WS 堆栈来公开此服务,假设您只想创建一个基于 JAX-WS 的示例,让我向您指出我之前创建的一个工作示例,可在以下位置找到:git://github.com/bijukunjummen/memberservice-codefirst.git

此示例使用 Apache CXF 作为 JAX-WS 实现,并使用 JAXB2 进行绑定(bind)(将传入的 xml 转换为 Java 对象并返回)

在您的示例中,Apache CXF 将允许您使用以下类型的 spring 配置文件条目来公开 WS 接口(interface):

<jaxws:endpoint address="/helloworldservice" id="helloworld" implementor="#helloworldBean" >
</jaxws:endpoint>

关于java - Spring,@WebService/@WebMethod,(使用Jax-WS),接收序列化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004324/

相关文章:

java - doxygen 中用于 show xtends 的选项是什么?

java - 使用 GroovyFX 实现新的 JavaFX 组件?

java - 结构内部的 JNA 结构

java - 将无边界摆窗置于前面

c# - 某些应用程序是否可能打开/关闭 iis 托管的 Web 服务?

java - Apache CXF 能否生成客户端并自动获取 WSDL 和模式的本地副本?

android - 如何在 Android 中显示来自网络服务的马拉地语文本

java - Weblogic : Spring application context loading fails : Caused by: java. lang.NoSuchMethodError : javax. persistence.Table.indexes()

java - Spring Ws中如何与银行等第三方收发证书?

java - Spring Boot 应用程序可以在调试器中运行,但不能作为 jar 运行