2010-02-19 23 views
8

Tôi rất mới với WSDL, nhưng những gì tôi đang cố gắng làm rất đơn giản. Tôi đã nhận được một dịch vụ web làm việc với thư viện ZSI của python, nhưng bị mắc kẹt định nghĩa một dịch vụ trả về một mảng của một kiểu tùy chỉnh.Làm cách nào để xác định một mảng các loại tùy chỉnh trong WSDL?

Trong WSDL của tôi, tôi có như sau:

<xsd:element name="ArtPiece"> 
    <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="title" type="xsd:string" /> 
     <xsd:element name="year" type="xsd:string" /> 
     <xsd:element name="imageId" type="xsd:int" minOccurs="0" /> 
     <xsd:element name="image" type="xsd:base64Binary" minOccurs="0" /> 
     </xsd:sequence> 
    </xsd:complexType> 
    </xsd:element> 

Nếu tôi cố gắng thêm một yếu tố như ArtPieceArray đó là định nghĩa bằng cách có một số lượng không giới hạn các loại ArtPiece, điều đó dường như là không hợp lệ.

Nếu, khi tôi xác định thư của mình, tôi cố gắng sử dụng ArtPiece [], điều đó dường như không hợp lệ.

Tôi đang sử dụng ZSI cho dịch vụ web và C# cho ứng dụng khách. Mã dịch vụ web của khách hàng được tạo bởi wsdl.exe

Bất kỳ đề xuất nào?

Trả lời

21
<xs:schema elementFormDefault="qualified" 
      targetNamespace="http://schemas.datacontract.org/2004/07/Foo" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:tns="http://schemas.datacontract.org/2004/07/Foo"> 
    <xs:complexType name="ArtPiece"> 
     <xs:sequence> 
      <xs:element minOccurs="0" name="image" nillable="true" type="xs:base64Binary"/> 
      <xs:element minOccurs="0" name="imageId" type="xs:int"/> 
      <xs:element minOccurs="0" name="title" nillable="true" type="xs:string"/> 
      <xs:element minOccurs="0" name="year" nillable="true" type="xs:string"/> 
     </xs:sequence> 
    </xs:complexType> 

    <xs:element name="ArtPiece" nillable="true" type="tns:ArtPiece"/> 

    <xs:complexType name="ArrayOfArtPiece"> 
     <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ArtPiece" nillable="true" type="tns:ArtPiece"/> 
     </xs:sequence> 
    </xs:complexType> 

    <xs:element name="ArrayOfArtPiece" nillable="true" type="tns:ArrayOfArtPiece"/> 
</xs:schema> 
Các vấn đề liên quan