2011-03-15 3 views
1

J'ai créé un simple service Web REST produit de Northwind dans WCF au /Northwind/Product. J'ai également activé la page d'aide du service HTTP Web WCF sur mon service, qui est au /Northwind/Product/help. J'ai une opération "GET" et sa page d'aide est située à: /Northwind/Product/help/operations/Get, qui est votre page d'aide WCF standard qui affiche le corps Xml, le corps JSON, le schéma Xml et les schémas Xml supplémentaires. Assez simple, non? Bon maintenant, sur les choses amusantes ...Aide du service HTTP Web WCF Page

Je suis intéressé par la section du schéma Xml, qui est:

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="Product"> 
    <xs:sequence> 
     <xs:element minOccurs="0" name="CategoryID" nillable="true" type="xs:int" /> 
     <xs:element minOccurs="0" name="Discontinued" type="xs:boolean" /> 
     <xs:element minOccurs="0" name="ProductID" type="xs:int" /> 
     <xs:element minOccurs="0" name="ProductName" nillable="true" type="xs:string" /> 
     <xs:element minOccurs="0" name="QuantityPerUnit" nillable="true" type="xs:string" /> 
     <xs:element minOccurs="0" name="ReorderLevel" nillable="true" type="xs:short" /> 
     <xs:element minOccurs="0" name="SupplierID" nillable="true" type="xs:int" /> 
     <xs:element minOccurs="0" name="UnitPrice" nillable="true" type="xs:decimal" /> 
     <xs:element minOccurs="0" name="UnitsInStock" nillable="true" type="xs:short" /> 
     <xs:element minOccurs="0" name="UnitsOnOrder" nillable="true" type="xs:short" /> 
    </xs:sequence> 
    </xs:complexType> 
    <xs:element name="Product" nillable="true" type="Product" /> 
</xs:schema> 

Je suis intéressé parce que des types de données. Je veux connaître les types de données des éléments. Maintenant, je comprends que ce ne sont pas les principes fondamentaux de REST. Cependant, je ne veux pas d'objets SOAP ici. Je veux que mes services soient simples et dactylographiés, et que je sois toujours au courant de leurs types de données en cas de besoin.

Ma question est, comment puis-je exposer cette section particulière du fichier d'aide? Si je ne peux pas faire cela, quelles sont mes autres options pour réaliser ce que j'essaie de faire ici?

Répondre

1

Je ne pense pas qu'il soit possible d'être à la fois faiblement typé et en même temps connaître les types derrière les champs.

Vous pouvez envoyer tout sous forme de chaîne, puis émettre une exception si la conversion est impossible.

Il ne semble pas être une balise dans les xs: balise d'élément qui pourrait être utilisé pour aider infomation, http://www.w3schools.com/schema/el_element.asp