Hej, Nu har jag aldrig sysslat med MSMQ men det finns saker som skiljer asp och vb. asp kan bara använda sig av en datatyp. Kan det vara detta som spökar? Om man skriver den i .NET tror du att det fungerar då? eller kanske skapa en webservice. Det fungerar nog med asp också, men du får försöka trixa lite mer kanske. Som sagt, har ingen aning om hur strömmar och strängar arbetar med MSMQ så jag kan tyvärr inte råda dig. Du får försöka leta på nätet och hittar du något svar, posta det gärna i tråden så vi får mervärde på den. Hej, Jag löste det tyvärr inte, utan det enda jag använde mig av köerna bara för att uppmäksamma "klienten" om att det fanns ett meddelande som hade sparades ner på en fil. När du skriver en String till MSMQ blir det i Unicode, MSMQ
När jag skickar ett meddelande från webben till MSMQ så kan inte mitt andra system läsa det, en test VB-application fixar det.
När jag läser av msmq.kön så ser body ut så här när det fungerar
37 2E 30 2E 30 2E 30 2E 30 7.0.0.0.0
00 .
Och när det kommer från webben
37 00 30 00 30 00 30 00 30 7.0.0.0.0
00 .
dvs meddelandet är samma "7.0.0.0.0" men formatet är olika??
skickar med lite kod om det hjälper- jag kan även skicka upp all kod om det hjälper
<code>
set qinfo = server.CreateObject("MSMQ.MSMQQueueInfo")
Set sendq = server.CreateObject("MSMQ.MSMQQueue")
Set oMsg = Server.CreateObject("MSMQ.MSMQMessage")
' Get a handle to the MSMQ Queue that we need
qinfo.FormatName = cQueueLabel
' Open the Queue
Set sendq = qinfo.Open(2,0)'MQ_SEND_ACCESS, MQ_DENY_NONE)
If sendq.IsOpen Then
oMsg.Label = "Navision MSMQ-BA" '"MSMQ-BA"'"NCPXMLREQUEST"
oMsg.Body = cstr(MSMQmess) 'oXMLIn 'oXMLIn.xml
oMsg.Priority = iPriority
If iSendTimeOut <> 0 Then
oMsg.MaxTimeToReceive = iSendTimeOut
End If
oMsg.Send sendq
'mGUID = msgGUID(oMsg.Id)
End If
</code>Sv: MSMQ
Sv: MSMQ
Sv: MSMQ
Sv: MSMQ
Nu är jag rätt ny på MSMQ, men jag har haft liknande problem när jag gjort webbapplikationer. Det jag har haft problem med då är att sidorna (samt respons) inte har haft samma teckenuppsättning. (Typsikt problem med å, ä och ö. Råkat ut för i olika projekt. ;) ) I XML-filer kan man kan sätta encoding eller liknande. Jag brukar som dom flesta (tror jag) använda utf-8 för webbapplikationer och i den gången jag använde XML. (Ex. <?xml version="1.0" encoding="utf-8" ?> ....) Det är nästan alltid en förutsättning att man använder en teckenuppsättning som inte ändras "på vägen". (Har jag lärt mig den hårda vägen.) Utf-8 är en som brukar funka. (Har alltid funkat för mig hitintills. Peppar, peppar...)
Eftersom jag har börjat titta lite på MSMQ (jag ska använda det framöver) läste jag att man kan skicka det binärt, som ren text, XML osv (datan skickas alltid "inbakad" i XML). Det kan också vara en felkälla.
Nu har jag förhoppningsvis satt lite myror i huvudet på dig. Hoppas att det är lite hjälp på vägen iaf.
Skriv gärna hur du löste det, annars får jag lära mig den hårda vägen igen.Sv:MSMQ
Något som kan vara värt att kolla är om det är ett ANSI/ASCII problem
//HenkeSv: MSMQ
men du vill ha nåt annat baserat på ditt första exempel? (UTF8, iso..)
I DotNet vet jag att man kan lösa det genom att man gör en egen MsgFormatter klass.
i AspScript har jag ingen lösning på lager, men det borde funka att gå via ett Stream-objekt.
Du kan skriva en string med viss encoding till streamen och skicka den till kön i stället.