2010-02-19 22 views
8

Jestem bardzo nowy w WSDL, ale to, co próbuję zrobić, jest bardzo proste. Dostałem usługę sieciową działającą z biblioteką ZSI Pythona, ale utknąłem definiując usługę, która zwraca tablicę niestandardowego typu.Jak zdefiniować tablicę niestandardowych typów w WSDL?

W moim WSDL mam następujące:

<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> 

Gdy próbuję dodać kolejny element jak ArtPieceArray który jest zdefiniowany poprzez nieograniczoną liczbę rodzajów ArtPiece, który wydaje się być nieprawidłowy.

Jeśli podczas definiowania mojej wiadomości spróbuję użyć ArtPiece [], która również wydaje się być nieważna.

Używam ZSI dla usługi internetowej i C# dla klienta. Kod usługi klienta klienta jest generowany przez wsdl.exe

Wszelkie sugestie?

Odpowiedz

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> 
Powiązane problemy