Я развернул службу "hello world" (Tomcat + Axis2):
public class ServerLogic {
public int add(int x, int y) {
return x + y;
}
}
Но Axis2 сгенерировал WSDL следующим образом:
<xs:element name="add">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="x" type="xs:int"/>
<xs:element minOccurs="0" name="y" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="addResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Когда я сгенерировал клиент С# с помощью этого WSDL, я получил метод с этой сигнатурой:
void add(int x, [System.Xml.Serialization.XmlIgnoreAttribute()] bool xSpecified,
int y, [System.Xml.Serialization.XmlIgnoreAttribute()] bool ySpecified,
out int @return, [System.Xml.Serialization.XmlIgnoreAttribute()] out bool returnSpecified);
Как я понимаю, *Specified
-параметры - это результат minOccurs="0"
. Итак, как я могу сказать Axis2 удалить этот minOccurs="0"
из сгенерированного WSDL?