我正在尝试将spring bean注入使用@WebService和@SOAPBinding注释的类中。

@WebService(targetNamespace = JAXWSMessageHandler.MY_URL)
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public class JAXWSMessageHandler {

    private StorageManager bufferContainer;

    public void setBufferContainer(StorageManager storageManager){
        this.bufferContainer = storageManager;

    }


我得到以下异常:

Service class soap.service.JAXWSMessageHandler method setBufferContainer part {http://myurl/myproject/v1}setBufferContainer cannot be mapped to schema. Check for use of a JAX-WS-specific type without the JAX-WS service factory bean.


看来spring所使用的操作有望由CXF在WSDL中定义。我认为我可以使用单例调解器类来破解它,该类允许从WebService类到我的业务类进行通信,但是,这对我来说听起来并不好,我想正确地做到这一点。有什么提示怎么做吗?

最佳答案

JAX-WS将带注释的类上的方法签名解释为Web服务操作。我的猜测是,如果使用构造函数注入(而不是setter注入),问题将消失。

10-04 19:45