Nous utilisons .Net 2.0 pour créer des services Web. Nous aimerions concevoir des webservices dans ASP.Net 2.0.Quelle est la meilleure façon de développer un service Web asp.net qui aura des méthodes qui renvoient la liste, des objets individuels ou d'autres types de données complexes
Actuellement, les webservices que nous avons le retour soit un seul paramètre comme
<s:element name="ChangePassword">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="currentPassword" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="newPassword" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ChangePasswordResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ChangePasswordResult" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
Nous avons également conçu webservices qui renvoient un modèle comme
<s:element name="GetCreditBalance">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetCreditBalanceResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetCreditBalanceResult" type="tns:UserCreditsModel" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="UserCreditsModel">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="UserId" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="CreditBalance" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="ValidityDate" type="s:dateTime" />
</s:sequence>
</s:complexType>
Nous avons également conçu webservices que retourner une liste de modèles comme
<s:element name="GetHistory">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetHistoryResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetHistoryResult" type="tns:ArrayOfSMSCreditHistoryModel" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfSMSCreditHistoryModel">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="SMSCreditHistoryModel" nillable="true" type="tns:SMSCreditHistoryModel" />
</s:sequence>
</s:complexType>
<s:complexType name="SMSCreditHistoryModel">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CreditHistoryId" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="UserId" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="PaymentDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentRefNo" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="TotalAmount" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="CreditsEarned" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ValidityDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="Mode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ChequeNO" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="ChequeDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="ChequeBankName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Remarks" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ValidityDateTime" type="s:string" />
</s:sequence>
</s:complexType>
L'approche actuelle est que si alors que toute défaillance de fonctionnement comme l'échec d'authentification, nous lançons une exception à la webservice.
Nous aimerions savoir quelle est la meilleure approche pour concevoir un service web afin qu'il puisse être consommé sur différentes plates-formes sans problèmes technologiques.
Utiliserait json help. Est-ce que le retour d'un XML pur va aider.