2010-05-24 9 views
6

ich einen Web-Service unter Verwendung von Visual Studio erstellt haben (2005 - ich weiß, ich bin der alten Schule) und es kompiliert gut, aber wenn ich es so erhalten gewarnt öffnet:ASMX-Webdienst - "Dieser Webdienst verwendet http://tempuri.org/ als Standardnamespace." Nachricht - aber es sollte nicht sein

Dieser Web-Service entspricht nicht dem WS-I Basic Profile v1.1.

Und weiter:

Dieser Webservice http://tempuri.org/ als Standard-Namespace verwendet.

Welche außer meinen Dienst in Ordnung sein würde, beginnt so:

[WebService(Namespace = "http://totally-not-default-uri.com/servicename")] 

Durchsuchen des gesamten Lösungsordner für „tempuri“ gibt nichts zurück. Ich kann es auf keiner Konfigurationsseite finden, auf die von Visual Studio aus zugegriffen werden kann. Und dennoch befindet es sich genau dort in der Liste wsdl: definitions für das Attribut xmlns: tns auf der Desk-Deskriptorseite des Web-Service, wenn ich es über den Browser und als targetNamespace im selben Tag anschaue. Ich sehe es mit Visual Studio "Debug" -Modus mit dem eingebauten Server von diesem.

Scheint wie etwas irgendwo zwischengespeichert wurde, aber ich kann nicht herausfinden, was und wo- Ich habe versucht, den Server zu stoppen und neu zu starten, den Dienst zu reinigen und neu zu erstellen und die zugehörigen Textkonfigurationsdateien mit einem Texteditor aber kein Würfel. Irgendeine Idee was ist los?

Antwort

6

Ähem.

Nachdem ich eine Weile versucht habe, diese herauszufinden, bin ich gleich zum Anfang zurückgekehrt und habe angefangen, meine Annahmen zu hinterfragen. Normalerweise in einer solchen Situation, wenn niemand eine Antwort zu haben scheint, mache ich etwas sehr dichtes.

Sicher genug, ich habe ein paar Klassen in meiner Web-Service-Datei (weil es ein Stub für Tests ist und nicht auf lange Sicht verwendet werden) und ich hatte komplett die falsche Klasse in meiner .asmx-Datei als die unterstützender Code für den Webservice.

Sobald ich das korrigiert habe, hat alles gut funktioniert.

ich nicht stolz bin, ist es weit von meinem stolzeste Moment, aber ich werde jemand dies nur für den Fall verlassen sonst läuft in das gleiche Problem ...

+2

Ich denke, das ist ziemlich weit davon entfernt, dicht zu sein - ganz im Gegenteil, eigentlich. Es ist nur passiert ... äh ... ein Freund von mir. +1 von mir. –

2
  • 1 auch von mir. Ich hatte das gleiche Problem aber etwas andere Lösung: Mein Problem war, weil, wie Sie, ich mehrere Klassen in der gleichen .asmx.cs Datei hatte. Ich hatte oben Datenklassen und die Web-Service-Klasse unter ihnen, und das Attribut [WebService (Namespace = "...")] war am Anfang der Datei, über den Datenklassen.

fand ich 2 Lösungen: Entweder die Datenklassen, um ihre eigenen Code-Dateien verschieben (wahrscheinlich am besten), oder wenn Sie darauf bestehen, auf mehrere Klassen in der gleichen Datei, verschieben Sie die Datenklassen unterhalb der Bahn Serviceklasse zu halten, oder Verschieben Sie das Attribut [WebService (Namespace = "...")] NUR VOR der WebService-Klasse.