3

我正在使用 .Net Frameworks WSDL 实用程序来生成客户端存根。问题是,这个实用程序没有在其他一些类中生成一些类和一些函数。

我从 MS-visual studio 命令提示符发出的命令如下,

wsdl /l:CS /protocol:SOAP ../XXXService.wsdl ../XXXSchema.xsd

这会生成错误的客户端存根。我生成错误代码的 XSD 元素如下,

<xs:sequence>
          <xs:element minOccurs="0" name="createdTime" type=`enter code here`"xs:dateTime"/>
          <xs:element minOccurs="0" name="description" type="xs:string"/>
          <xs:element name="emailAddress" type="xs:string"/>
          <xs:choice>
            <xs:element name="isBounce" type="xs:boolean"/>
            <xs:sequence>
              <xs:element minOccurs="0" name="fromName" type="xs:string"/>
              <xs:element name="isFrom" type="xs:boolean"/>
            </xs:sequence>
            <xs:element name="isReply" type="xs:boolean"/>
          </xs:choice>
         <xs:element minOccurs="0" name="organizationId" type="tns:OrganizationId"/>
          <xs:element minOccurs="0" name="ownerId" type="tns:UserId"/>
</xs:sequence>

生成的代码是,

[System.Xml.Serialization.XmlElementAttribute("fromName", typeof(string))]
[System.Xml.Serialization.XmlElementAttribute("isBounce", typeof(bool))]
[System.Xml.Serialization.XmlElementAttribute("isFrom", typeof(bool))]
[System.Xml.Serialization.XmlElementAttribute("isReply", typeof(bool))]
[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]

而如果我以同样的方式使用 WSDLToJava 工具,我会在代码中获得正确的 setter 和 getter 方法。

4

0 回答 0