如何从WSDL生成* .xjb文件?

che*_*rit 5 wsdl wsdl2java jaxb xjc xjb

我有一个WSDL文件weatherservice.wsdl,我正在尝试使用生成与此WSDL的绑定xjc。如何使用xjc执行此操作?

我从xjc中找不到任何命令行参数来执行此操作。 xjc -p com -wsdl weatherservice.wsdl

小智 8

通常我们会创建一个带有.xjb扩展名的绑定文件来解决 WSDL 或模式中的任何冲突。例如,如果两个元素具有相同的名称并且您想区分它们,您可以通过将其指定为绑定文件来重命名其中一个。

下面是一个例子:

<jaxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    jaxb:extensionBindingPrefixes="xjc"
    version="2.1">

    <jaxb:globalBindings generateIsSetMethod="true" fixedAttributeAsConstantProperty="true">
        <xjc:serializable uid="1" />
    </jaxb:globalBindings>

    <jaxb:bindings schemaLocation="abcd.xsd">
        <jaxb:bindings node="//xs:element[@name='Event']/xs:simpleType">
               <jaxb:typesafeEnumClass name="EventEnumType" />
        </jaxb:bindings>
   </jaxb:bindings>

</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)