Ich benutze Fedex's Web Services und bekomme einen nervigen Fehler, bevor ich irgendwo hinkomme.
Beim Serialisieren des Nachrichtentexts addressValidationRequest1 ist ein Fehler aufgetreten: 'Es konnte keine temporäre Klasse generiert werden (Ergebnis = 1). Fehler CS0030: Typ 'FedEx.InterOp.AddressValidationServiceReference.ParsedElement []' kann nicht in 'FedEx.InterOp.AddressValidationServiceReference.ParsedElement' konvertiert werden Fehler CS0029: Der Typ 'FedEx.InterOp.AddressValidationServiceReference.ParsedElement' kann nicht implizit in 'FedEx.InterOp.AddressValidationServiceReference.ParsedElement []' konvertiert werden. ". Weitere Informationen finden Sie unter InnerException.
Ich benutze .NET 3.5 und bekomme eine schreckliche benannte Klasse für mich (ich bin nicht sicher, warum es nicht nur AddressValidationService ist):
AddressValidationPortTypeClient addressValidationService = new ...;
in dieser Klasse mache ich meinen Web-Service-Aufruf:
addressValidationService.addressValidation(request);
Dies ist, wenn ich diesen Fehler bekomme.
Die einzigen Hinweise, die ich zu diesem Fehler finden kann, stammen von alten 1.1-Projekten. In meinem Fall hat meine DLL Verweise auf System.Web und System.Web.Services, die damals ein Problem zu sein schienen.
Sie müssen nur das [] [] ändern, nicht das einzelne [].
Ändern Sie in Reference.cs
%Vor%Stellt sich heraus, Fedex eigene Dokumentation deckt dies speziell ab!
Ich verwende wsdl.exe von Microsoft, um Code zu generieren und erhalte einen Fehler CS0029: Kann Typ 'fedexreq.ParsedElement' nicht implizit in 'fedexreq.ParsedElement []' konvertieren.
Dies ist ein Fehler, der vom Web Services Description Language-Tool (Wsdl.exe) generiert wird, um die Client-Informationen zu generieren. Wenn Sie ein Schema veröffentlichen, das geschachtelte Knoten enthält, bei denen das Attribut maxOccurs auf den Wert "unbounded" gesetzt ist, erstellt das Tool Wsdl.exe mehrdimensionale Arrays in der generierten Codedatei. Daher enthält der generierte Code falsche Typen für die verschachtelten Knoten. Um das zu lösen, modifizieren Sie den generierten Code, indem Sie die eckigen Klammern ([]) aus dem Datentyp delectation statements entfernen. Weitere Informationen finden Sie unter Ссылка und Ссылка
Hinweis: Um auf die Reference.cs-Datei zuzugreifen, auf die Simon_Weaver verweist, öffnen Sie das Projekt in Visual Studio und klicken Sie im Projektmappen-Explorer auf die Web-Referenz und dann auf die kleinen Symbole oben im Projektmappen-Explorer. Klicken Sie auf das Symbol "Alle Dateien anzeigen", um versteckte Dateien anzuzeigen. Erweitern Sie nun den Webverweis, erweitern Sie dann die Reference.map und schließlich sehen Sie Reference.cs, die Sie bearbeiten können, indem Sie [] [] durch []
ersetzenVerwechseln Sie diese Referenz.cs nicht mit der Referenz.cs, die Sie möglicherweise von Fedex erhalten haben, wenn Sie ihren Beispielcode herunterladen.
Tags und Links .net web-services