2009-08-21 1 views
0

Ich versuche, einen Webdienst von ASP.net 3.5-Anwendung aufzurufen. Ich habe eine URL, die das DNS enthält und wenn es verwendet wird, erhalte ich den folgenden Fehler.Web Service fehlgeschlagen, wenn DNS in URL verwendet, aber funktioniert, wenn ich die tatsächliche IP in der URL verwenden Kann das Problem nicht herausfinden

(die xxxxxx ist es für Bedenken hinsichtlich der Privatsphäre) Fehler bei der Anforderung mit der Fehlermeldung: - 301 Dauerhaft

dauerhaft verschoben

Verschoben Das Dokument here bewegt hat.

Wenn ich die URL mit der physischen IP verwende, funktioniert es gut. Gibt es eine Einstellung, die ich vermisse? Ich habe derzeit das URL-Verhalten auf dynamisch festgelegt, so dass es die URL aus dem webconfig verwendet.

Antwort

0

Wenn Sie eine Webreferenz verwenden, können Sie die Eigenschaft AllowAutoRedirect der Proxyinstanz auf true setzen. In diesem Fall erfolgt die Umleitung im Hintergrund.

+0

John, das hat funktioniert, aber das Verhalten ist sehr seltsam. Hier ist, was passiert, die URL, die ich ursprünglich auf den Webserver hatte, führt eine Umleitung auf die FQDN-URL. Wenn ich das AllowAutoRedirect hinzugefügt habe, um zu arbeiten, funktioniert es, aber scheitert, da die Antwort das HTML ist, das vom Service zurückgeschickt wird. Aber wenn ich den FQDN direkt benutze, funktioniert es und scheitert nicht. Nicht sicher, ob das Sinn macht. – TampaRich

+0

unten ist der Fehler, es sendet HTML statt XML in der Kopfzeile zurück. funktioniert aber, wenn ich den Link verwende, den die Weiterleitung verwendet. Der Client hat den Antwortinhaltstyp 'text/html; charset = ISO-8859-1' gefunden, aber 'text/xml' erwartet. Die Anfrage ist mit der Fehlermeldung fehlgeschlagen: – TampaRich

1

Hm - vielleicht verstehe ich Ihre Frage nicht richtig, aber es klingt wie die Web-Service-URL hat sich einfach von dem, den Sie verwenden, zu dem von der Antwort 301 zurückgegeben (der xxxxxxxx) geändert.

Sind Sie sicher, dass Sie den Web-Service mit genau die URL xxxxxxx anrufen?

PS:

Ich habe eine URL, die den DNS darin

Dies ist wahrscheinlich nicht das, was man sagen wollte, hat - DNS steht für Domain Name System, das wäre das System, das URLs in IP-Adressen übersetzt. Ich nehme an, Sie wollten FQDN sagen, was Fully Qualified Domain Name bedeutet.

+0

Ja, danke für diese Korrektur – TampaRich

1

Es ist möglich, dass das Umschreiben von Anforderungen auf der Serverseite basierend auf der eingehenden Anfrage erfolgt, einschließlich der Angaben, die Sie für den Hostnamen in der URL übergeben. Ein erneutes Schreiben einer Anforderung kann zu einer 301-Antwort führen.

Mit anderen Worten, Anforderungen mit einem Hostnamen von www.domain.com können neu geschrieben werden, während Anforderungen, die eine bestimmte IP-Adresse verwenden, selbst wenn die IP-Adresse die Adresse ist, zu der www.domain.com aufgelöst wird, nicht sein können umgeschrieben.

Die Lösung ist, um entweder die IP-Adresse zu verwenden oder den neuen Standort zu verwenden, den Sie von der 301-Antwort erhalten.

Verwandte Themen