Spring不会使用JAX-WS Web服务端点自动装配bean

时间:2012-04-11 17:18:08

标签: spring jax-ws autowired

我正在尝试使用我编写的 JAX-WS webservice 。对于弹簧自动装配的带注释的bean,我总是得到nullPointerException。但是,一切都在serverSide上通过web工作,但通过 JAX-WS webservice 访问bean。

我试过延长SpringBeanAutowiringSupport,但仍然没有运气。我怎么能这样做。

问候,罗希特

1 个答案:

答案 0 :(得分: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. 我想你知道如何在春天使用道具,但会解释以防万一。您还应该创建yourWebService.properties文件并在spring上下文中定义它以使用此构造${yourWebService.wsdl.url}

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

  4. 使用这种方法我成功地使用了JAX with Spring