Как настроить веб-сервис .NET 4.0, чтобы он был доступен для других компьютеров в моей локальной сети? - PullRequest
0 голосов
/ 15 августа 2011

Я кодировал веб-сервис с использованием платформы .Net 4.0 и могу успешно вызвать его с помощью тестового клиента (SoapUI) на локальном компьютере после публикации приложения на моем веб-сайте в IIS.Сгенерированные заглушки и WSDL доступны с локального компьютера и с других компьютеров в сети, однако я не могу отправлять сообщения в конечную точку WS с другого компьютера;Я могу отправлять сообщения в конечную точку WS с локального компьютера и получать ожидаемый ответ.Когда я пытаюсь отправить сообщение на свою конечную точку WS, я получаю ошибку HTTP 400 - «Ошибка HTTP 400. Запрос плохо сформирован» в HTML.Это проблема с моей конфигурацией IIS или правами доступа к файлам моего приложения?

Примечание: Java-разработчик здесь, в процессе изучения .Net.

Редактировать: я отключил брандмауэр Windows иУ меня IP-адрес привязок веб-сайта установлен в «Все неназначенные» в диспетчере IIS.

Редактировать: Запрос / Ответ

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:add="http://mymachinenamewashere/SeflAddressService/AddressService.asmx">
   <soapenv:Header/>
   <soapenv:Body>
     <add:CheckAddress>
         <add:chkAddress>
           <add:chkCompanyName>XXX</add:chkCompanyName>
           <add:chkStreet1>420 Davega Rd.</add:chkStreet1>
           <add:chkStreet2/> 
           <add:chkCity>Lexington</add:chkCity>
           <add:chkState>SC</add:chkState>
           <add:chkZipcode5>29169</add:chkZipcode5>
           <add:chkZipcode4/>
           <add:chkSuite/>
         </add:chkAddress>
      </add:CheckAddress>
   </soapenv:Body>
</soapenv:Envelope>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>

Ответы [ 2 ]

0 голосов
/ 07 сентября 2011

Проблема заключалась в том, что мой клиент и SoapUI v2.5 создавали неверные запросы без пространств имен. Я наконец выяснил, где найти файлы журналов, и перехватил некоторые запросы с помощью Wireshark. Обновлен до SoapUI v4.X и работает нормально. Я работаю над модификацией моего клиента, чтобы он включал пространства имен (среда, используемая для генерации моего клиентского кода, кажется, не работает или неправильно настроена).

0 голосов
/ 15 августа 2011

Возможные ошибки:

  • Веб-служба привязана к определенному IP-адресу
  • Конфигурация брандмауэра
  • Аутентификация?

Вы проверилиSOAP запрос и ответ?

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