DetailPage-MSS-KB

Knowledge Base

Artikel ID: 326790 - Laatste beoordeling: woensdag 2 maart 2011 - Wijziging: 2.0

 

Op deze pagina

Samenvatting

Het hulpprogramma Web Services Description Language (Wsdl.exe) genereert code proxy voor XML-webservices. De gegenereerde typen die worden gebruikt in de proxyklasse zijn gebaseerd op de inhoud van het WSDL-document beschrijft de XML-webservice. Echter de gegenereerde typen mogelijk niet wat u wilt noch verwacht.

WSDL.exe bepaalt de beste gegenereerde type Gebruik voor de objecten die zijn opgegeven in de beschrijving van de service. In sommige gevallen gebruikt het gereedschap een benadering van de kleinste gemeenschappelijke noemer voor casting-objecten type. Bijvoorbeeld eenArrayListparameter in een WebMethod wordt als een XML-Schema beschreven in WSDL Reeks (XSD). Wsdl.exe zoekt wanneer deze beschrijving array in de service Beschrijving Wsdl.exe genereert vervolgens een proxyklasse die gebruikmaakt van een objectmatrix. U wilt werken met eenArrayList, is het oorspronkelijke type in de WebMethod werd gebruikt. Als u wilt de gegenereerde gegevenstypen, kunt u de gegenereerde typen typen wenselijk. U kunt openen om het juiste type de met de proxyklasse gegenereerd bestand handmatig de gegenereerde wijzigen methodeparameter van de en typen vervolgens terug naar de juiste typen.

De Proxy-Code genereren

In het volgende voorbeeld heeft de XML-webservice Web Service met het prototype van de volgende methode:
string DummyMethod(System.Collections.ArrayList intList)
				
Wsdl.exe kunt u het bronbestand proxy genereren.

De Code handmatig wijzigen

  1. De proxy-bronbestand in een teksteditor openen.
  2. De twee methoden zoeken:
            public string DummyMethod(object[] intList) {
                object[] results = this.Invoke("DummyMethod", new object[] {
                            intList});
                return ((string)(results[0]));
            }
    
            public System.IAsyncResult BeginDummyMethod(object[] intList, System.AsyncCallback callback, object asyncState) {
                return this.BeginInvoke("DummyMethod", new object[] {
                            intList}, callback, asyncState);
            }
    					
  3. De code te wijzigen:
            public string DummyMethod(System.Collections.ArrayList intList) {
                object[] results = this.Invoke("DummyMethod", new object[] {
                            intList});
                return ((string)(results[0]));
            }
    
            public System.IAsyncResult BeginDummyMethod(System.Collections.ArrayList intList, System.AsyncCallback callback, object asyncState) {
                return this.BeginInvoke("DummyMethod", new object[] {
                            intList}, callback, asyncState);
            }
    					

Meer informatie

XML-webservices serialiseren objecten XML en vervolgens terug. XML voor objecten. Meestal kan een object van een bepaald type worden geserialiseerd en gedeserialiseerd vervolgens naar een ander object van hetzelfde type. Echter, Als u verschillende typen, kan dit niet werkt.



Referenties

Voor meer informatie over hoe gegevenstypen worden geserialiseerd en gedeserialiseerd, de volgende Microsoft-website:
XML en SOAP-serialisatie
http://msdn.Microsoft.com/library/?URL=/Library/en-us/cpguide/HTML/cpconserialization.asp?frame=True (http://msdn.microsoft.com/library/?url=/library/en-us/cpguide/html/cpconserialization.asp?frame=true)



De informatie in dit artikel is van toepassing op:
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
Trefwoorden: 
kbhowtomaster kbmt KB326790 KbMtnl
Machine-translated ArticleMachine-translated Article
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:326790  (http://support.microsoft.com/kb/326790/en-us/ )
Ingetrokken KB-artikelVrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.
Delen
Extra ondersteuningsopties
Microsoft Community Support-forums
Neem rechtstreeks contact met ons op
Een door Microsoft gecertificeerde partner zoeken
Microsoft Store