La conversion de WSDL pour les classes C#
La conversion de WSDL pour les classes C# à l'aide de microsoft net wsdl.exe outil, mais l'outil est impossible de convertir la partie suivante du fichier WSDL. Tous les pointeurs dans la bonne direction grandement apprécié.
WSDL Entrée
<complexType name="Merchant">
<sequence>
<element name="iId" type="xsd:int" />
<element name="sName" type="xsd:string" />
<element name="sDescription" type="xsd:string" minOccurs="0" />
<element name="aSectors" type="api:ArrayOfMerchantSectors" minOccurs="0" />
</sequence>
</complexType>
<complexType name="ArrayOfMerchant">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="api:Merchant[]" />
</restriction>
</complexContent>
</complexType>
<complexType name="MerchantSector">
<sequence>
<element name="iSectorId" type="xsd:int" />
<element name="sSectorName" type="xsd:string" />
</sequence>
</complexType>
<complexType name="ArrayOfMerchantSectors">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="api:MerchantSector[]" />
</restriction>
</complexContent>
</complexType>
C# Sortie ?????
///<remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://api.someexampledomain.com/")]
public partial class ArrayOfMerchant : Array
{
}
///<remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://api.someexampledomain.com/")]
public partial class ArrayOfMerchantSectors : Array
{
}
Je voudrais savoir comment faire pour définir la classe de "Marchand" et "ArrayOfMerchant'.
Grâce.
Quel est le problème que vous rencontrez? Aussi, êtes-vous conscient que WSDL.EXE est hérité de la technologie? Vous devez utiliser svcutil.exe ou tout simplement utiliser la fonction "Ajouter une référence de Service", sauf si vous êtes coincé avec .NET 2.0.
Je suis en train de progresser de prendre une approche différente en utilisant l'URL suivante comme point de départ stackoverflow.com/questions/4791794/.... Vous ne savez pas la meilleure façon de clôturer cette question.
Je suis en train de progresser de prendre une approche différente en utilisant l'URL suivante comme point de départ stackoverflow.com/questions/4791794/.... Vous ne savez pas la meilleure façon de clôturer cette question.
OriginalL'auteur Steven | 2011-11-01
Vous devez vous connecter pour publier un commentaire.
Si vous avez obtenu le fichier WSDL avec vous, il est straight en avant de créer le C# de la classe proxy.
Mentionnées ci-dessous est l'une des façon de le faire. Si vos données WSDL n'est pas exposée via une URL.
D'abord enregistrer la Disposition WSDL des données dans un fichier de dire "D:\MerchantService.wsdl"
Refrence : http://msdn.microsoft.com/en-us/library/aa347733.aspx
Avez-vous essayé d'utiliser svcutil.exe et de voir si votre type complexe est arriver généré?
svcutil.exe malheureusement donné les mêmes questions. Après avoir regardé dans les choses plus loin, j'ai découvert que le WSDL utilisé est connu pour causer des problèmes avec .NET donc j'ai pris une approche différente à l'aide de l'URL suivante comme point de départ stackoverflow.com/questions/4791794/.... Vous ne savez pas la meilleure façon de clôturer cette question.
OriginalL'auteur Vikram Shetty
Votre problème repose dans le fichier XSD. svcutil ne supporte pas les restrictions à l'intérieur d'un complexContent tag: http://msdn.microsoft.com/en-us/library/ms733112.aspx
Msdn dit qu'il est actuellement interdit:
OriginalL'auteur Mittchel