2

我正在尝试使用我编写的JAX-WS Web 服务。我总是得到nullPointerExceptionspring autowired annotated beans。但是,在 web 上的 serverSide 中一切正常,但通过JAX-WS webservice访问 bean 。

我尝试过扩展SpringBeanAutowiringSupport,但仍然没有运气。我怎样才能做到这一点。

问候,罗希特

4

1 回答 1

0

我没有扩展 SpringBeanAutowiringSupport 的经验,但成功地使用了这种方法:

  1. 以这样的方式注释 webService 类:

    @Component("yourWebService")  
    @WebService(endpointInterface ="your.package.YourServicePort")
    
  2. 为 webService 创建新的 spring-context xml 并定义 JAX-WS 端点:

    <jaxws:endpoint
        id="yourServiceEndpoint"
        implementor="#yourWebService"
        address="${yourWebService.wsdl.url}"> //load url from properties file
    </jaxws:endpoint>       
    
  3. 我想你知道如何在 spring 中使用 props,但会解释一下以防万一。您还应该创建yourWebService.properties文件并在 spring 上下文中定义它以使用此构造${yourWebService.wsdl.url}

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
       <property name="locations">
          <list>
              <value>yourWebService.properties</value>
          </list>
       </property>
    

使用这种方法,我成功地将 JAX 与 Spring 结合使用

于 2012-04-11T19:15:25.380 回答