使用wsdl2java和Spring的Web服务客户端

时间:2014-03-25 13:30:17

标签: java spring web-services cxf

我希望我的基于Spring MVC的应用程序能够使用Web服务。 我唯一知道的服务就是它的WSDL。

我正在使用this example from W3C进行测试。

我可以通过CXF的WSDL2Java实用程序生成客户端的java工件。它为我提供了一些接口及其实现以及main方法中的一些用法示例(但它对此目的没有多大帮助)。

我的应用程序只需集成此客户端即可进行哪些配置?我更喜欢XML conf aproach。

使用的版本是:

  • CXF 2.7.10
  • Spring 3.2.8

1 个答案:

答案 0 :(得分:3)

CXF有一个<jaxws:client />元素,用于配置客户端。

您将@WebService带注释的接口指定为serviceClass属性,将端点URL指定为address属性。例如,假设wsdl2java生成com.w3schools.webservices.TempConvertSoap

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd
          http://cxf.apache.org/jaxws
          http://cxf.apache.org/schemas/jaxws.xsd">

    <jaxws:client id="tempconvertClient"
                  serviceClass="com.w3schools.webservices.TempConvertSoap"
                  address="http://www.w3schools.com/webservices/tempconvert.asmx" />
</beans>

您可以将tempconvertClient bean注入com.w3schools.webservices.TempConvertSoap,然后使用它来进行服务调用。

有关详细信息,请参阅CXF JAX-WS Configuration文档。