Webservice-Client:使用Spring WS,JAXB和一个WSDL文件的常用方法?

It'*_*eto 5 java spring wsdl web-services jaxb

我想使用Spring WS构建一个带有JAXB的Webservice-Client,用于编组和解组Java类.

但我拥有的只是一个WSDL文件.当我理解正确时,我可以使用JAXB(xjc.exe)生成Java类,然后我可以使用Spring WS来检索Web服务数据并发送答案.

但是JAXB只能从xsd-schema文件生成Java类.我现在必须手动从WSDL文件中复制那些xsd-definitions来通过JAXB生成这些类吗?(在我的例子中,WSDL文件包含4个XSD定义).

或者有没有办法将整个WSDL转换为Java类,我可以使用它与Spring WS(我知道有"wsimport",但它是JAX-WS的一部分,我想我不能在这里使用它情景,对吗?).

那么Spring WS/JAXB /一个WSDL文件的常用方法是什么?

我真的很想使用Spring WS和JAXB - 感谢您的帮助!

ska*_*man 3

我可以使用 JAXB (xbj.exe) 生成 Java 类

xjc, 你的意思是。

我现在必须从 WSDL 文件中手动复制这些 xsd 定义才能通过 JAXB 生成这些类吗?

当然,这是一种选择。更自动化的方法是编写 XSL 转换以将架构组件提取到临时文件中,然后对这些文件运行 XJC。工作量多一点,但自动化总是好的。

我知道有“wsimport”,但它是 JAX-WS 的一部分,我想我不能在这种情况下使用它,对吧?

实际上,JAX-WS 工件只是 JAXB 的一种修饰形式。wsimport将生成一些特定于 JAX-WS 的内容,以及表示模式组件的标准 JAXB 工件。您应该能够使用 JAXB 为 Spring-WS 生成的类,并忽略特定于 JAX-WS 的类。