「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 で C# クライアントを生成すると、次のシグネチャを持つメソッドが得られました。
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"
。minOccurs="0"
では、生成された WSDL からこれを削除するように Axis2 に伝えるにはどうすればよいでしょうか?