Page 1 of 3
REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 14:19
by xepT
Suttit och kollat runt i forumet men lösningar som hjälp andra verkar inte fungera. Får hoppas att jag inte bara har missat inläggen.
telldusd 2.1.1
Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2)
sudo mono SwitchKing.exe daemon domän.se 8800 domän.se 9990
Framework Service Starting
Framework Service Running
Invocation Service Starting
Invocation Service Running
Collector Service Starting
Collector Service Running
REST Service Starting
REST Service Running
Windowsklienten fungerar bra, även Android versionen.
Har även ändrat add baseAdress från localhost till domän.se, samt uppdaterat alla portar till 9990 i SwitchKing.exe.config. (den som har med REST att göra iaf)
När jag försöker besöka: http://användare:lösen@domän.se:9990/devices
får jag följande fel utsprutat i samma fönster där jag startade servicen.
Exception A system exception has occurred. at System.ServiceModel.Description.WebHttpBehavior+EndpointNotFoundOperationInvoker.Invoke (System.Object instance, System.Object[] inputs, System.Object[]& outputs) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.OperationInvokerHandler.DoProcessRequest (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.OperationInvokerHandler.ProcessRequest (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.BaseRequestProcessorHandler.ProcessRequestChain (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.BaseRequestProcessorHandler.ProcessRequestChain (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.HandlersChain.ProcessRequestChain (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.BaseRequestProcessor.ProcessRequest (System.ServiceModel.Dispatcher.MessageProcessingContext mrc) [0x00000] in <filename unknown>:0
Verkar inte finnas något vettigt i /Logs/
Skulle behöva använda mig av REST anrop när jag ska leka med NFC.
Några idéer ?
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 14:28
by Martin
Eftersom du kör via terminalen så behöver du inte ändra portar i konfigurationsfiler (de får ingen effekt) men det bör inte påverka oavsett...
Antar att servern snurrar trots felmeddelandet = det är inte totalstopp utan "bara" ett otrevligt meddelande? Eftersom detta kommer från Mono så ser du inte till felet i Switch Kings loggar - Mono spottar ut det rätt i terminalen.
Felmeddelandet kan dyka upp om adressen inte är _exakt_ rätt - om det exempelvis smugit sig in en extra "/" i adressen, eller liknande, vilket får till följd att Mono inte kan hitta den sökväg du frågar efter...
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 14:34
by xepT
Martin wrote:Eftersom du kör via terminalen så behöver du inte ändra portar i konfigurationsfiler (de får ingen effekt) men det bör inte påverka oavsett...
Antar att servern snurrar trots felmeddelandet = det är inte totalstopp utan "bara" ett otrevligt meddelande? Eftersom detta kommer från Mono så ser du inte till felet i Switch Kings loggar - Mono spottar ut det rätt i terminalen.
Felmeddelandet kan dyka upp om adressen inte är _exakt_ rätt - om det exempelvis smugit sig in en extra "/" i adressen, eller liknande, vilket får till följd att Mono inte kan hitta den sökväg du frågar efter...
Kan ju vara bra att jag skriver ut det jag får via hemsidan med kanske? Är ju det som är själva problemet. Hahah
Slår in detta: http://användare:lösen@domän.se:9990/devices inga extra "/" i adressen.
<ArrayOfRESTDevice xmlns:i="
http://www.w3.org/2001/XMLSchema-instance" xmlns="
http://SwitchKing.Common/Entities/RESTS ... ed/2010/07" i:nil="true"/>
Har även testat http://användare:lösen@domän.se:9990/devices/1
<RESTDevice xmlns:i="
http://www.w3.org/2001/XMLSchema-instance" xmlns="
http://SwitchKing.Common/Entities/RESTS ... ed/2010/07" i:nil="true"/>
Sen får jag inget mer, får inte upp någon lista på enheter, eller någon mer info.
Vad slår jag in för att få tända enhet 1?
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 14:42
by xepT
Att tillägg är att jag inte sitter på det lokala nätverket när jag försöker, men det bör väl knappast spela någon roll?
Att styra enheterna via telefonen och windowsklienten fungerar fortfarande (tänkte på frågor om portar osv..)
Har även testat via FF och Chrome.
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 14:49
by Martin
xepT wrote:Kan ju vara bra att jag skriver ut det jag får via hemsidan med kanske?
Förstår inte riktigt - du får fram "ArrayOfXYZ" men får ändå felet i terminalen? "ArrayOfXYZ" indikerar att adressen är rätt - annars hade du fått ett annat meddelande.
Att sidan däremot är tom - eller rättare sagt, inte tom men utan enheter - tyder på att anropet når fram till rätt adress men att användarnamn + lösenord inte godkänts av servern. Att det blir en sida med en tom lista och inte ett fel som indikerar ogiltigt användarnamn + lösenord beror på implementationen av Mono i Linux (i Windows får man ett felmeddelande).
Finns konstiga tecken i användarnamn + lösenord med i bilden, som kanske förändras när man bakar in dem i adressen i webbläsarfönstret?
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 15:15
by xepT
Martin wrote:xepT wrote:Kan ju vara bra att jag skriver ut det jag får via hemsidan med kanske?
Förstår inte riktigt - du får fram "ArrayOfXYZ" men får ändå felet i terminalen? "ArrayOfXYZ" indikerar att adressen är rätt - annars hade du fått ett annat meddelande.
Japp, <ArrayOfRESTDevice xmlns:i...> dyker upp när jag kör med http://användare:lösen@domänen.se:9990/devices
Martin wrote:
Att sidan däremot är tom - eller rättare sagt, inte tom men utan enheter - tyder på att anropet når fram till rätt adress men att användarnamn + lösenord inte godkänts av servern. Att det blir en sida med en tom lista och inte ett fel som indikerar ogiltigt användarnamn + lösenord beror på implementationen av Mono i Linux (i Windows får man ett felmeddelande).
Finns konstiga tecken i användarnamn + lösenord med i bilden, som kanske förändras när man bakar in dem i adressen i webbläsarfönstret?
Nej, inga konstiga tecken, och det fungerar fortfarande fint via windowsklienten och via android luren.
Testade att byta till ett annat användarnamn + lösenord via windowsklienten, men det blir samma svar / fel när jag sedan försöker ansluta med den nya inforamtionen..
[EDIT]
Kan det ha något med rättigheterna mellan mono / tdtools / telldus / plugdev?
[/EDIT]
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 15:39
by Martin
xepT wrote:Japp, <ArrayOfRESTDevice xmlns:i...> dyker upp när jag kör med http://användare:lösen@domänen.se:9990/devices
Menade om felet i terminalen dyker upp samtidigt som du får tom sida
xepT wrote:Kan det ha något med rättigheterna mellan mono / tdtools / telldus / plugdev?
Nej, tyvärr...
(du behöver inte heller använda sudo - det var i äldre versioner, innan nuvarande telldusd fanns som sudo kunde vara nödvändigt)
Edit:
Switch King signalerar i loggboken om användarnamn+lösenord är felaktigt, men om det inte kommer in _något_ användarnamn+lösenord blir det tyvärr ingen loggning. Det tyder på att webbläsaren (eller något annat på vägen) skalar bort användarnamn+lösenord.
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 16:06
by xepT
Martin wrote:xepT wrote:Japp, <ArrayOfRESTDevice xmlns:i...> dyker upp när jag kör med http://användare:lösen@domänen.se:9990/devices
Menade om felet i terminalen dyker upp samtidigt som du får tom sida
Felet dyker upp i terminalen varje gång jag försöker ansluta till http://användare:lösen@domänen.se:9990/devices
Martin wrote:
xepT wrote:Kan det ha något med rättigheterna mellan mono / tdtools / telldus / plugdev?
Nej, tyvärr...
(du behöver inte heller använda sudo - det var i äldre versioner, innan nuvarande telldusd fanns som sudo kunde vara nödvändigt)
Edit:
Switch King signalerar i loggboken om användarnamn+lösenord är felaktigt, men om det inte kommer in _något_ användarnamn+lösenord blir det tyvärr ingen loggning. Det tyder på att webbläsaren (eller något annat på vägen) skalar bort användarnamn+lösenord.
Testade att fylla i fel användarnamn i URLen, och ja, det händer inget med loggen. Ansluter jag dock med min Android app med felaktiga uppgifter så dyker det upp Level 1) Invalid usernamne or password i loggen, så det tyder kanske på att webbläsaren parsar bort användarnamnet.
Ska testa med Safari när jag kommer hem. IE funkar öht inte, den hittar inte URLen.. FF och Chrome verkar båda ta bort användaren.
Verkar ha något på spåret.
Running version 2.0.2.10 of server and version 2.01 of DB. Detta är korrekt?
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 16:10
by xepT
Drog in curl lokalt på serven, och den får rätt svar tillbaka, listar alla devices...
Förbannade dj**la webbläsare...
Re: REST anropp, ubuntu
Posted: Mon 13 Aug 2012, 16:15
by Martin
xepT wrote:Drog in curl lokalt på serven, och den får rätt svar tillbaka, listar alla devices...
Förbannade dj**la webbläsare...
Detta är nog en "säkerhetsfeature" för att man inte ska kunna skicka username+pass till exempelvis en adress som dns-kapats, så det finns nog en god anledning till att det inte fungerar i alla webbläsare.
Det är nog snarare implementationen i Mono som är "fel" i det här fallet och bör svara med en fråga om användarnamn+lösenord när man inte skickar med något, men det ligger utanför vår kontroll, tyvärr...
