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

时间:2011-05-14 19:32:03

标签: java web-services spring serialization jax-ws

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

等网址提取XML页面

我目前拥有的代码如下所示,但是我想创建一个服务,以便可以传入序列化对象,例如HashMap,然后对其进行反序列化,等等。我一直在做很多事情阅读这个,但我仍然有点失落,如果有人能提供建议如何从我目前的地方到我想要做的事情,我将不胜感激。感谢

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();

    }

}

1 个答案:

答案 0 :(得分:2)

我不完全确定您使用哪个WS堆栈来公开此服务,假设您只想创建一个基于JAX-WS的示例,让我指出一个我之前创建的工作示例:{ {1}}。

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

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

git://github.com/bijukunjummen/memberservice-codefirst.git