Frage

Unsere Web-Dienste werden auf verschiedene Server aus verschiedenen Gründen verteilt (wie Latenz an den Client abnehmend), und sie sind nicht immer alle up-to-date. Anstatt eine Ausnahme auszulösen, wenn eine Methode nicht existieren, weil die bestimmte Web-Service zu alt ist, wäre es schöner, wenn wir die Client-Check haben könnte, wenn der Dienst an eine bestimmte Methode reagiert, bevor sie anrufen und ansonsten die Funktion deaktivieren (oder arbeiten um ihn herum).

Gibt es eine Möglichkeit, das zu tun?

War es hilfreich?

Lösung

Unit-Test der Webservice seine Unterschriften nicht brechen zu gewährleisten. Wenn Sie Code schreiben, der die Methodensignatur bricht, werden Sie wissen und können die anderen Anwendungen entsprechend anpassen.

oder brechen einfach nicht die Web-Services und veröffentlichen sie in einer Weise, die syou auf Version ihnen ermöglichen. Wie in http://services.domain.com/MyService/V1.1/ Service.asmx (für .NET) so auf diese Weise Ihre Anwendungen, die v1.1 verwenden, nicht brechen, wenn Sie v1.2 veröffentlichen und zu brechen Änderungen vornehmen.

Ich würde überprüfen auch einen internen UDDI-Server zu verwenden, wenn es wirklich so groß von einem Hasle Ihres Web-Service zu verwalten. Mit Hilfe der Grünen Seiten der UDDI wird Ihnen sagen, was Sie über den Service wissen wollen.

Andere Tipps

Holen Sie sich das WSDL (anhängen wsdl an die URL?) -. Sie können analysieren, dass jede mögliche Weise, die Sie mögen

Wenn Sie eine SOAP-Anforderung machen Sie nur eine HTTP-Anforderung an einen Server sendet. Wenn der Server es versteht, wird es mit einem HTTP-Antwort 200 und einige XML zurück, wenn es nicht tut es Ihnen einige Fehler HTTP-Code sendet (404, 500, ...)

Es gibt keine allgemeine Art und Weise für die Existenz einer „Methode“ von einem Web-Service ausgesetzt zu fragen. Versuchen Sie, die WSDL ausgesetzt zu verwenden, wenn es automatisch ist, oder einfach nur versuchen, die „Methode“ zu verwenden und prüfen, ob ein Fehler in der Antwort (Sie müssen nicht eine Ausnahme an den Benutzer senden ...)

Auch ich weiß nicht, ob ich Sie richtig verstanden, aber Sie denken, den Server zweimal von Quering, einmal zu überprüfen, ob die Methode existiert, und zweitens die tatsächliche nennen es zu machen, wenn es tut? Ich würde nur für den Fehler überprüfen, ob dies nicht der Fall, und gehen Sie normalerweise, wenn es der Fall ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top