2016-09-30 8 views
0

Я пытался подключиться к диспетчеру очереди WebSphere MQ с помощью ASP.NET, но я не увенчался успехом. Моя настройка выглядит следующим образом: У меня есть DLL, где мой код для подключения и т. Д. Я сделал 2 проекта (на своем собственном ПК), веб-проект ASP.NET и простое консольное приложение. При использовании консольного приложения я могу подключиться к очереди и получать/размещать сообщения, выдавая себя за локального пользователя (который создается как на сервере, так и на моем компьютере с одинаковым именем пользователя и паролем, иначе я получаю ошибку MQ 2035). Но при вызове того же самого кода в моем проекте ASP.NET я получаю ошибку MQ 2059. Если я избегаю олицетворения в моем проекте ASP.NET, как я делаю в консольном приложении, я получаю ошибку 2035 AUTHENTICATION, и, посмотрев в окне просмотра событий на сервере, я вижу ошибку «SID: ((None)) не может быть решены «олицетворение».Не удается подключиться к Websphere MQ с помощью ASP.NET, но отлично работает с консольным приложением

Так что я здесь делаю неправильно?

+0

Какую версию MQ (как клиента, так и Qmgr) вы используете? – Shashi

+0

Hi Shashi. Я использую Websphere версии 7.5 в качестве сервера, и я включил эти DLL с сервера в свой проект и добавил их в GAC. Я думаю, что ошибка должна быть связана с олицетворением. Я просто не знаю, почему я успешно выступаю в консольном приложении и использую тот же самый код в ASP.NET. – Cris

+0

Ошибка 2059 вряд ли будет связана с безопасностью. Если вы отключите различные требования безопасности (CONNAUTH AND CHLAUTH) и просто поместите локального пользователя в MCAUSER SVRCONN, вы можете подключиться? Если нет, сначала решите это, а затем снова включите защиту. –

ответ

0

Так что я получил это работает после того, как все. кажется, что это был вопрос олицетворения в конце концов. нечетная часть является то, что первый раз, когда я называю мой код при выдаче имени локального пользователя на моем ПК, который также создается как локальный пользователь на сервере, я получаю 2059. Второй раз я вызываю тот же самый код буквально через 2 секунды после этого, теперь я могу читать сообщения из очереди. Действительно странно, но вызов метода чтения дважды сделал трюк.