Web-Service-Rückgabe-Objekt mit null-Felder
Nie gesehen, dies vor.
WebService.Implementation imp = new WebService.Implementation();
WebService.ImplementationRequest req = new WebService.ImplementationRequest();
return imp.GetValue(req);
Dem Objekt, das imp gibt nicht null ist. Es ist die Rückkehr einer ImplementationResponse, wie erwartet. Aber alle Felder in diesem Objekt sind null. Das ist nicht zu erwarten. Der WebService, derzeit nur Renditen einige Konstante dummy-Daten. Wir haben getestet, diese an einen anderen Entwickler mit der Maschine, läuft einwandfrei.
Ich glaube, ich sollte auch beachten, dass der WebService soll eine exception werfen, wenn ich übergeben Sie den Wert null in der GetValue-Methode. Tut es das nicht. Nicht für mich.
Jede Idee, was könnte falsch sein mit meiner Umgebung machen konnte eine WebService ein Objekt zurückgeben, aber stellen Sie jeden Wert in das Objekt null ist? Und irgendwie 'magisch' Rückkehr in diesem mystery-Objekt, wenn es sein sollte, eine Ausnahme zu werfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass in der Regel passiert, wenn es eine Diskrepanz zwischen dem generierten code und der xml vom Webdienst zurückgegeben werden, so dass es kann nicht deserialisiert werden.
Greifen die wsdl-wieder regenerieren alle die proxy-Klassen und versuchen Sie es erneut. Stellen Sie sicher, dass Sie senden Sie die richtige dummy-Daten.
Update:
Dieses geschah mir viel, weil der web-services nicht geschafft mit meinem team und wir würden Sie nicht bemerken, die änderungen an den service. Wir landeten abfangen der soap-Nachrichten der web-service-pipeline für die Fehlersuche. Hier's eine großartige Ressource, um Sie auf Ihrem Weg.
Brauchen Sie nicht, etwas zu ändern in der pipeline, nur packen die soap-Nachrichten und speichern Sie Sie, damit Sie debug-später. Die meisten der Zeit, es stellte sich heraus, genau das zu sein, eine änderung im Vertrag. Zu anderen Zeiten hätten wir nicht einen Vertrag, so gab es keine Möglichkeit zu wissen, von Veränderungen, ohne dass Sie fangen die Umschläge.
Sowieso, auch wenn es nicht dein problem ich denke es ist eine gute Sache zu haben.
Sind die Felder mit < DataMember()> Attribute, da Sie nicht serialisieren sonst?
Überlegen Sie auch, mit Hilfe von trace-viewer zur analyse der gesendeten Nachrichten zwischen dem client und dem server. Für info siehe:
https://stackoverflow.com/questions/560370/handling-wcf-proxy-null-return-issue
Du nicht hier übergeben Sie den Wert null,Sie bestanden in einem request-Objekt.
Außerdem müssen Sie in der Lage sein, um Debuggen in der web-service um zu sehen, was dort passiert. Ich nehme an, Sie sind der Umsetzung dieser intern, da können Sie es auf Konstante dummy-Wert.