揭露JAX-WS Web服务作为春豆(Exposing JAX-WS web service as

2019-09-17 01:14发布

这是可能以某种方式暴露JAX-WS Web服务作为春豆? 我需要设置一些物体进入我的实现类,但我想做到这一点使用的春天。

Answer 1:

您需要使用SpringBeanAutowiringSupport和自动装配Autowired注解从春天注入的对象。 创建端点类,它会像真正的Web服务,但调用真正的实现方法去throught,在春天注入您的Web服务接口。

对于例如:

@WebService(targetNamespace = "http://my.ws/MyWs",
        portName = "MyWsService",
        serviceName = "MyWs",
        endpointInterface = "my.ws.MyWsService",
        wsdlLocation = "WEB-INF/wsdl/MyWs.wsdl")
public class MyWsEndpoint extends SpringBeanAutowiringSupport implements MyWsService {

    @Autowired
    private MyWsService proxy;

    public void myMethod() {
        proxy.myMethod();
    }

}

您的JAX-WS enpoint配置应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
    <endpoint
            name="MyWsService"
            implementation="my.ws.MyWsEndpoint"
            url-pattern="/services/MyWsService"/>
</endpoints>

定义真正的实现类春季但要记住,这两个:你的端点类和实现类必须实现您的Web服务接口。

<bean id="myWsImpl" class="my.ws.MyWsImpl"/>

和多数民众赞成它,现在你可以在你的JAX-WS Web服务使用的春天。



文章来源: Exposing JAX-WS web service as spring bean
标签: spring jax-ws