Мыльные вызовы веб-службы IIS 7.5 возвращают HTTP-ответ - PullRequest
0 голосов
/ 23 марта 2012

У меня есть веб-служба .NET, WCF (созданная в PowerBuilder 12.5.1), размещенная на сервере IIS 7.5, у которого есть вызов метода, который принимает целое число, а затем выполняет вызов базы данных MS SQL Server 2008 R2. Используя Microsoft Network Monitor 3.4, я вижу, что мой клиент отправляет HTTP-запрос на сервер IIS, который иногда отправляет ответ HTTP 100, а иногда нет (никогда не было проблемой, и в этом случае мне все равно), затем клиент отправляет запрос SOAP на сервер, на котором есть данные для вызова службы. Однако сервер IIS просто отправляет ответ HTTP 200, вместо того, чтобы выполнять вызов SQL, как это должно быть. Нет никаких признаков того, что служба даже пытается установить соединение с базой данных SQL. И сайт IIS, и приложение, на котором размещается служба, используют PBDotnet4AppPool, который использует интегрированный режим управляемого конвейера и идентификатор NetworkService. В приложении есть строка подключения, которую можно использовать для подключения к базе данных SQL с идентификатором пользователя, который имеет доступ для чтения ко всем таблицам в базе данных.

Как я могу это исправить, чтобы служба выполняла вызов SQL и возвращала правильный ответ? Любая помощь с благодарностью.

PS: Я новичок в этом, пожалуйста, будьте терпеливы и дайте мне знать, если есть какая-то другая информация, которую я должен был включить.

1 Ответ

1 голос
/ 30 марта 2012

Оказывается, проблема с DLL-файлом в Powerbuilder. Когда веб-служба powerbuilder не может найти файлы .dll, в которых она нуждается, она просто молча вылетает и не говорит вам, почему. Чтобы решить эту проблему, я скопировал содержимое «C: \ Program Files (x86) \ Sybase \ Shared \ PowerBuilder» со своего компьютера разработки (под управлением Windows 7) в ту же папку на сервере IIS. После того, как я это сделал, консольная «самодостаточная» служба приложений на сервере IIS и размещенная служба IIS работали нормально.

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