通过遵循使用 Jax-WS 的教程,我逐渐拼凑出如何在 Spring 中接收序列化对象,并获得了一个可以运行的 Web 服务。我已经验证我可以通过浏览器访问此基本服务,方法是使用 http://localhost:8080/WebServicesExample/hello?wsdl
我目前拥有的代码如下所示,但是我想创建一个服务,以便可以传入序列化对象,例如 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/