如何从 WSDL 文件中获取复杂类型?

Pau*_*des 5 java wsdl complextype

我有以下 wsdl 文件:

 <wsdl:types>
  <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http:..."/>
   <complexType name="BaseBean">
    <sequence/>
   </complexType>
   <complexType name="DateBean">
    <complexContent>
     <extension base="impl:BaseBean">
      <sequence>
       <element name="date" nillable="true" type="xsd:dateTime"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
  </schema>
 </wsdl:types>
Run Code Online (Sandbox Code Playgroud)

使用WSDL4J,我可以获得wsdl:types节点:

WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
Definition definition = reader.readWSDL("file.wsdl");
Types types = definition.getTypes();
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何complex types进入types.

如何以编程方式获取复杂类型?我在哪里可以找到有关如何操作的示例?

ksc*_*eid 0

尝试做:

Schema schema = null;
for (Object e : types.getExtensibilityElements()) {
    if (e instanceof Schema) {
        schema = (Schema)e;
        break;
    }
}
if (schema != null) {
    Element schemaElement = schema.getElement();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

此时,您实际上只获得了org.w3c.dom.Element代表模式的实例。

  • 我的意思是,我想要像“getComplexTypes()”这样的东西。我需要迭代架构内的复杂类型。外部工具对我来说没有用,我需要以编程方式执行此操作。 (3认同)