WCF - документ был понят, но он не мог быть обработан - PullRequest
1 голос
/ 12 июня 2009

У меня есть служба WCF, которую я развернул на своем тестовом сервере. Попытка использовать его в моем тестовом проекте, и я добавил ссылку, и я получаю эту ошибку

    The document was understood, but it could not be processed.
  - The WSDL document contains links that could not be resolved.
  - There was an error downloading 'http://localhost:8731/somewhere.nowhere.com/service1/?xsd=xsd2'.
  - Unable to connect to remote server
  - No connection could be made because the target machine actively refused it
Metadata contains a reference that cannot be resolved: 'http://192.1.1.1/TestService/somewhere.nowhere.com.svc?wsdl'.
Content Type application/soap+xml; charset=utf-8 was not supported by service .  The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.

У меня было работающее тестовое приложение, прежде чем я добавил wsdlextras в свой сервисный проект для включения документации по wsdl.

Это схема из моего wsdl:

<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="http://localhost:8731/somewhere.nowhere.com/?xsd=xsd2" namespace="http://tempuri.org/"/>
<xsd:import schemaLocation="http://localhost:8731/somewhere.nowhere.com/?xsd=xsd1" namespace="http://schemas.datacontract.org/2004/07/TestService"/>
<xsd:import schemaLocation="http://localhost:8731/somewhere.nowhere.com/?xsd=xsd0" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://localhost:8731/somewhere.nowhere.com/?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
</xsd:schema>
</wsdl:types>

Попытка исправить 1: Я изменил свой

<host>
 <baseAddresses>
  <add baseAddress />
 </baseAddresses>
</host>

так что мои адреса в моей схеме все совпадают. Я могу обновить ссылку на службу в моем тестовом проекте, однако я не могу просмотреть ни один из моих методов, предоставляемых моей службой wcf.

Моя служба развернута на Windows 2003, и мое тестовое приложение также работает на XP

Ответы [ 2 ]

2 голосов
/ 28 июня 2012

Ответ здесь: Настройка сервера WCF IIS

короче ... Проблема была с разрешениями идентификации WCF. Идентификатор, используемый для пула приложений, в котором размещается служба WCF, должен иметь полные разрешения NTFS для папки% WINDIR% \ temp. После изменения этого разрешения на мою личность (LOCAL SERVICE) на C: \ Windows \ Temp я смог добавить ссылку на службу в службу WCF.

0 голосов
/ 22 июня 2009

Из сообщения об ошибке выглядит, как будто он не может найти импортированный xsd-файл xsd2.

Вызов службы выглядит так, как если бы он находился на порте 80, но на включаемые файлы ссылаются с точки 8731.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...