Публикация схемы как проблема службы wcf - PullRequest
0 голосов
/ 05 марта 2009

Я пытаюсь опубликовать некоторые схемы HL7 (с некоторыми из них) как службы wcf, используя «Мастер публикации служб WCF». Мастер, по-видимому, запускается и завершает работу просто отлично, создавая сервис, который предоставляет схемы, которые я хочу. Но когда я пытаюсь просмотреть только что созданный сервис, я получаю «Серверное приложение недоступно» ... Я посмотрел в окне просмотра событий и заметил сообщение об ошибке: «System.OutOfMemoryException». Я еще раз проверил, просматривая «Диспетчер задач», и заметил, что aspnet_wp.exe потреблял более 1 ГБ ОЗУ до его завершения (пул приложений, вероятно, был переработан после достижения максимально допустимого потребления памяти).

Я был довольно озадачен тем, почему это произошло, поэтому я решил опубликовать ту же схему, что и веб-сервис ASMX, с помощью «Мастера публикации веб-сервисов», чтобы посмотреть, будет ли это иметь какое-то значение. После запуска мастера я попытался просмотреть сервис, и он работал нормально, без каких-либо проблем. Я посмотрел на сгенерированное определение WSDL, которое было огромным, и все ссылочные схемы были добавлены как встроенные схемы, а не как include или import.

Это заставило меня поверить, что это может быть проблемой с генерацией WSDL, имеющей так много включений в опубликованную схему, но я пока не совсем уверен, может ли это иметь место ...

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

Спасибо.

-M.Papas

1 Ответ

0 голосов
/ 25 марта 2009

Эта проблема определенно связана с памятью в инструменте генерации WSDL. Публикация сложных или даже полусложных схем в виде веб-служб или служб WCF обычно заканчивается исключениями нехватки памяти. Я сталкивался с этим несколько раз во время демонстрации SAP iDoc, и просто схема слишком сложна для инструмента WSDL. Надеюсь, это поможет.

...