Я пытаюсь перенести активную активную службу WCF (SOAP, стандартная конфигурация HTTP-привязки) на новый сервер [в IIS 7] без необходимости повторного развертывания клиента.Рассматриваемая служба WCF - это «центральная служба», которая хранит информацию конфигурации и передает управление другим службам.
Новый сервер / служба работает, оба используют SSL / HTTPS и имеют действительные сертификаты.
Я установил новый виртуальный каталог на старом / исходном IIS [IIS 6] в качестве теста, установив «Перенаправление на URL», введен новый URL-адрес службы.С помощью веб-браузера переадресация URL-адресов выполняется правильно, и я могу перейти к службе, без предупреждений HTTPS или других сообщений - важные части пути и URL-адреса сохранены, и все, кажется, работает нормально.
Однако WCFзвонок не получается.Я почти уверен, что он пытается интерпретировать ответ перенаправления как ответ WCF SOAP и, очевидно, терпит неудачу, вот записанное исключение:
Error: The content type text/html; charset=UTF-8 of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were:
'<HTML><HEAD><link rel="alternate" type="text/xml" href="https://server-name-here/service-path-here.svc?disco"/>
<STYLE type="text/css">#content{ FONT-SIZE: 0.7em; PADDING-BOTTOM: 2em; MARGIN-LEFT: 30px}BODY{MARGIN-TOP: 0px; MARGIN-LEFT: 0px; COLOR: #000000; FONT-FAMILY: Verdana; BACKGROUND-COLOR: white}P{MARGIN-TOP: 0px; MARGIN-BOTTOM: 12px; COLOR: #000000; FONT-FAMILY: Verdana}PRE{BORDER-RIGHT: #f0f0e0 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #f0f0e0 1px solid; MARGIN-TOP: -5px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; PADDING-BOTTOM: 5px; BORDER-LEFT: #f0f0e0 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #f0f0e0 1px solid; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e5e5cc}.heading1{MARGIN-TOP: 0px; PADDING-LEFT: 15px; FONT-WEIGHT: normal; FONT-SIZE: 26px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; MARGIN-LEFT: -30px; WIDTH: 100%; COLOR: #ffffff; PADDING-TOP: 10px; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #003366}.intro{MARGIN-LEFT: -15px}</STYLE><TITLE>Service-Name-Here'.
Есть ли способ обойти это?Я пытаюсь уменьшить нагрузку на сервер и постоянные / активные соединения, так как этот сервис довольно сильно загружен.Я надеялся, что пересылка приведет к тому, что клиент будет кэшировать новый URL-адрес и делать запрос на исходный URL-адрес редко, только когда истечет время переадресации или подобное.
Я читал различные проблемы и блоги, например, например,что редирект попросит клиента выполнить GET, а не POST, но я этого не вижу, пока просто сообщение выше.