我正在尝试使用我编写的JAX-WS Web 服务。我总是得到nullPointerException
spring autowired annotated beans。但是,在 web 上的 serverSide 中一切正常,但通过JAX-WS webservice访问 bean 。
我尝试过扩展SpringBeanAutowiringSupport
,但仍然没有运气。我怎样才能做到这一点。
问候,罗希特
我没有扩展 SpringBeanAutowiringSupport 的经验,但成功地使用了这种方法:
以这样的方式注释 webService 类:
@Component("yourWebService")
@WebService(endpointInterface ="your.package.YourServicePort")
为 webService 创建新的 spring-context xml 并定义 JAX-WS 端点:
<jaxws:endpoint
id="yourServiceEndpoint"
implementor="#yourWebService"
address="${yourWebService.wsdl.url}"> //load url from properties file
</jaxws:endpoint>
我想你知道如何在 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 结合使用