tangguo

如何编写Java客户端来访问WSDL文件?

java

如何.wsdl使用Java访问文件中公开的方法?另外,编写Java客户端和使用Web服务涉及哪些步骤?


阅读 309

收藏
2020-11-20

共1个答案

小编典典

除了The Elite Gentleman的答案外,这是我成功用于生成能够使用Web服务的类的步骤:命令:

wsimport -Xnocompile -keep -b binding.xml wsdlFile.wsdl

说明:

‘-Xnocompile’禁止生成.class文件
‘-keep’确保不会删除生成的Java文件(默认情况下,仅保留.class文件)
‘-b’指定一个绑定配置文件。这是必须的!(见下文)
我的问题是Java类包含JAXBElement<Type>包装器类。因此String,我将获得type JAXBElement,而不是type的类成员,这太可怕了。使用和和以下文件的-b开关,您将获得正确的类型:wsimportbinding.xml

<jaxb:bindings version="2.0"
  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <jaxb:bindings>
        <jaxb:globalBindings generateElementProperty="false" />
    </jaxb:bindings>
</jaxb:bindings>

我希望这有帮助。wsimport然后生成所需的所有类以及包含所有Webservices方法的方法的类。

默认情况下,这些方法没有读取超时(在请求时谈论网络问题…),请参阅此处以获取我当时遇到的问题。

2020-11-20