【问题标题】:What does `extra classes` parameter from `Java2WSDL` do?`Java2WSDL` 中的 `extra classes` 参数有什么作用?
【发布时间】:2012-12-05 07:28:28
【问题描述】:

有人知道Java2WSDL 工具中的extra classes 参数是什么意思吗?

Java2DSDL Reference

我正在寻找答案this question,但没有成功。

【问题讨论】:

    标签: wsdl axis2 java2wsdl


    【解决方案1】:

    它用于在 WSDL 定义中包含那些其父级显示为返回类型或参数的类型。考虑一个非常简单的例子:

    public class DemoService {
        public Animal pickRandomAnimal() {
            return new Dog(); // or any other animal
        }
    }
    

    .. 其中 Animal 是一个接口。在 WSDL 生成时,Axis2 将无法自动跟踪您可能期望返回的所有可能的 Animal 实现。如果没有 extraClasses,你会得到这样的结果:

        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://demo.com/xsd">
            <xs:complexType name="Animal">
                <xs:sequence>
                    <xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    

    .. 如果您添加 extraClasses="com.demo.Dog",您将在您的 WSDL 模式部分中涵盖您需要的所有类型:

        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://demo.com/xsd">
            <xs:complexType name="Animal">
                <xs:sequence>
                    <xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="Dog">
                <xs:sequence>
                    <xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 2015-09-07
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      相关资源
      最近更新 更多