Avatar billede nuab Nybegynder
09. juli 2010 - 16:26 Der er 8 kommentarer og
1 løsning

Problem med at skrive i en MSMQ på LAN fra en DMZ server

Jeg har en Webservice skal sende en string til en MSMQ. Hvis jeg bruge stien myLANserver\private$\request. Jeg har fint forbindelse med en MSMQ hvis jeg laver den på DMZ serveren med webservice på. altså myDMZserver\private$\request

Det er jo nok noget med nogle rettigheder. Der er opsat regler i firewall som giver adgang mellem serverne.

Jeg benytter følgende kode

if (MessageQueue.Exists(requestPath))
  requestQueue = new MessageQueue(requestPath);
else
  requestQueue = MessageQueue.Create(requestPath);
Avatar billede arne_v Ekspert
11. juli 2010 - 00:31 #1
Fejlbesked ?

Hvad er der helt præcist givet adgang til ?
Avatar billede nuab Nybegynder
12. juli 2010 - 08:00 #2
Fejlen:  Invalid queue path name

Jeg har også prøvet med men det giver samme fejl.
Direct:OS=myLANserver\private$\request
FormatName:Direct:OS=myLANserver\private$\request (Fejlen er lidt anderledes her, Cannot determine whether a queue with the specified format name exists)

Opsætning af serverne er ikke mig selv der har gjort det.(Har ikke evnerne). Da LAN serveren findes bag firewall'en og DMZ serveren findes foran, er der opsat exceptions mellem disse to servere i firewall'en. Der en exception for MSMQ

myLANserver er også indsat i host filen på DMZserveren
Avatar billede nuab Nybegynder
12. juli 2010 - 08:08 #3
MSMQ er opsat til at Anonym, everyone mm. har Fuld kontrol
Avatar billede nuab Nybegynder
12. juli 2010 - 13:59 #4
Jeg får følgende fejl med når send kaldes

at System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle() at System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS properties, IntPtr transaction) at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType) at System.Messaging.MessageQueue.Send(Object obj) at NavisionIntegration.MSMQ.Send(String query) in C:\Inetpub\NavisionIntegrationServicePublic\MSMQ.cs:line 99 at NavisionIntegration.NavisionIntegrationService.InvoikeNavisionNoResponse(String parameterRequest) in C:\Inetpub\NavisionIntegrationServicePublic\NavisionIntegrationService.asmx.cs:line 139
Avatar billede nuab Nybegynder
12. juli 2010 - 14:01 #5
Hvis jeg kalder

if (MessageQueue.Exists(@"FormatName:Direct:OS=LANServer\private$\navisionrequest"))

at System.Messaging.MessageQueue.Exists(String path) at NavisionIntegration.MSMQ..ctor() in C:\Inetpub\NavisionIntegrationServicePublic\MSMQ.cs:line 60 at NavisionIntegration.NavisionIntegrationService.InvoikeNavisionNoResponse(String parameterRequest) in C:\Inetpub\NavisionIntegrationServicePublic\NavisionIntegrationService.asmx.cs:line 138
Avatar billede nuab Nybegynder
12. juli 2010 - 15:47 #6
he he. JEg har selv fundet løsningen.......Der var to ting. Den ene var en total fejl 40. FormatName:Direct:OS=LANServer\private$\navisionrequest"
det skal være
FormatName:Direct=OS:LANServer\private$\navisionrequest"
Jeg har dog på det et tidspunkt brugt en rigtige.

Men den anden er at man ikke kan bruge funktionen Exists på en queue som ikke findes lokal.

Arne V. Hvis du vil have point for din deltagelse læg et svar.
Avatar billede arne_v Ekspert
13. juli 2010 - 01:11 #7
nej tak - jeg synes ikke at jeg har hjulpet så meget her
Avatar billede nuab Nybegynder
13. juli 2010 - 07:35 #8
Ok. det bestemmer du. Jeg synes ellers man skal have noget fordeltagelsen.
Avatar billede nuab Nybegynder
02. september 2010 - 18:59 #9
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester