0

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

Java2DSDL 参考

我想回答这个问题,但没有成功。

4

1 回答 1

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-12-04T23:28:28.800 回答