Ubuntu error

Supportfrågor för Switch King i Linux-miljö
Forum rules
För att kunna hjälpa dig med supportfrågor behöver vi så mycket information som möjligt.
Innan du skapar en ny tråd, läs gärna:
viewtopic.php?f=10&t=20
Post Reply
Wilkinson
1 star
1 star
Posts: 1
Joined: Sun 30 Jan 2011, 17:56

Ubuntu error

Post by Wilkinson » Sun 30 Jan 2011, 17:58

I have installed Switch King on my Ubuntu 10.10 machine, but I can't get it to work. I have mono installed:

Mono JIT compiler version 2.6.7 (Debian 2.6.7-3ubuntu1)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC and Parallel Mark)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none


and I also have telldus version 2.0.4-2.

If I issue the following command

sudo mono ./SwitchKing.exe terminal 127.0.0.1 8787 8800

and go to http://127.0.0.1:8800 I get

a:FIXME_InternalErrorerror occuredDispatchOperation '*' for contract 'RESTService' requires Invoker. at System.ServiceModel.Dispatcher.OperationInvokerHandler.EnsureValid (System.ServiceModel.Dispatcher.DispatchOperation operation) [0x00000] in <filename unknown>:0 at System.ServiceModel.Dispatcher.OperationInvokerHandler.BuildInvokeParams (System.ServiceModel.Dispatcher.MessageProcessingContext mrc, System.Object[]& parameters) [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.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 System.InvalidOperationException

I have installed the Android application and when I open it, it receives no information from the server. I don't have a windows machine to test this on.

Any help is appreciated.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ubuntu error

Post by Martin » Sun 30 Jan 2011, 20:43

The first thing that comes to mind (but doesn't have anything to do with the actual error) is that you are using 2.0.4-2. This is a beta version of Telldus drivers and things might not work as expected.
Switch King has not been tested on 2.0.4, for example, but only for 2.3 and 2.4. If you're experiencing strange problems along the road, it might be a good idea to switch to a stable release.

About the error you receive, this has to do with that the address http://127.0.0.1:8800 is actually invalid - or not defined as in use. All services in Switch King Server are using a suffix to this address to define what type of entity or service you are after.
If you are looking for devices, for example, you need to hit http://127.0.0.1:8800/devices. If you are looking for data sources, you need to hit http://127.0.0.1:8000/datasources.
To do this from a browser might also be problematic, since you might need to do "preauthentication" against the service.
If you don't get prompted for a username and password, you can try http://user:pass@127.0.0.1:8800/devices (replace user and pass with the username and password you have configured in the Windows client).

Bear in mind that you need a Windows machine to do initial configuration of Switch King, since it's only the server that is running on Linux.

If there are any errors occurring in Switch King, they'll be stored in the log file in the sub directory "Log". Search for "Warning" or "Error" in these files, and problems will show up.
Martin | Switch King

xepT
2 stars
2 stars
Posts: 21
Joined: Wed 23 Feb 2011, 10:26

Re: Ubuntu error

Post by xepT » Wed 23 Feb 2011, 11:13

tdtool 2.0.4
Switchking Server Setup (Linux) - v0.9.2
Mono JIT compiler version 2.6.7 (Debian 2.6.7-3ubuntu1)

sudo mono ./SwitchKing.exe daemon mindomän.se 8989 9900

Jag får exakt samma fel.
Jag har installerat windows-klienten, och den fungerar precis som den ska.

När jag använder min Desire HD, så fungerar demomiljön som Switchking.se tillhandahåller.
Kopplar jag upp mig mot min server får laddas inga enheter, den reagerar inte ens på ifall jag fyller i ett felaktigt användarnamn eller lösenord. Jag har portarna öppna i brandväggar / routern , har t.om testat att lägga serven på DMZ under routern.

Går jag in på http://mindomän.se:9900/devices
Får jag svaret
Denna XML-fil verkar inte ha någon associerad stilinformation. Dokumentträdet visas nedan.
<ArrayOfRESTDevice i:nil="true"/>
Lägger jag till ett snedstreck efter devices/ får jag svaret
<Fault><Code><Value>a:FIXME_InternalError</Value></Code><Reason><Text xml:lang="sv-SE">error occured</Text></Reason><Detail><ExceptionDetail><HelpLink i:nil="true"/><InnerException i:nil="true"/><Message>DispatchOperation '*' for contract 'RESTService' requires Invoker.</Message><StackTrace> at System.ServiceModel.Dispatcher.OperationInvokerHandler.EnsureValid (System.ServiceModel.Dispatcher.DispatchOperation operation) [0x00000] in <filename unknown>:0
at System.ServiceModel.Dispatcher.OperationInvokerHandler.BuildInvokeParams (System.ServiceModel.Dispatcher.MessageProcessingContext mrc, System.Object[]& parameters) [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.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 </StackTrace><Type>System.InvalidOperationException</Type></ExceptionDetail></Detail></Fault>
Felmeddelandet dyker upp i webbläsaren, och i terminalen.

Jag får samma fel oavsett om jag försöker ansluta via internet eller intranätet, eller om jag startar serven med det lokala ip-numret.
I loggarna får jag ingen träff på "error" men en träff på "warning" och det är att Device id with id 2, is defaulting to state off.
När jag laddar om sidan så läggs en till rad i loggen in
{BusinessAccessDataCollection - Collection} --<Debug> -- 2011-02-23 10:47:03 -- Found 1 DataSources in total.
{BusinessAccessDataCollection - Collection} --<Debug> -- 2011-02-23 10:47:03 -- No DataSources targetted for collection.
Jag har testat att ändra om alla URLer i SwitchKing.exe.config så den ska matcha mindomän.se och den port jag startar serven med, men dom kanske man inte ska ändra?
SwitchKing.Server.WCFServices.FrameworkDataa
SwitchKing.Server.WCFServices.InvocationData
osv.

Några idéer ?

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ubuntu error

Post by Martin » Wed 23 Feb 2011, 14:53

xepT wrote:tdtool 2.0.4
Prova med 2.4, men om du får upp enheterna i klienten så bör inte detta vara problemet...
xepT wrote:Denna XML-fil verkar inte ha någon associerad stilinformation. Dokumentträdet visas nedan.
<ArrayOfRESTDevice i:nil="true"/>
Detta är korrekt och förväntat... För att man ska få fram enheterna i en webbläsare så krävs det att man skickar med autenticeringsinformation DIREKT, vilket inte går att göra i alla webbläsare...
Dock är det så att om du får upp denna sida (även om den är tom) så är servern uppe och snurrar.
xepT wrote:<Fault><Code><Value>a:FIXME_InternalError</Value></Code><Reason><Text xml:lang="sv-SE">error occured</Text></Reason><Detail><ExceptionDetail><HelpLink i:nil="true"/><InnerException i:nil="true"/><Message>DispatchOperation '*' for contract 'RESTService' requires Invoker.</Message><StackTrace> at
Detta är också förväntat resultat om du lägger till "/" på slutet... Det finns ingen tjänst på den adress som anges varför servern kastar ett fel.
xepT wrote:I loggarna får jag ingen träff på "error" men en träff på "warning" och det är att Device id with id 2, is defaulting to state off.
Det betyder att enheten inte har ngt schema definierat. Inget att bry sig om - vanligtvis brukar alla enheter vara knutna till ett schema med minst en händelse, men inte alltid. Det är därför detta blir en varning (men inte ett "fel" eftersom det kan vara ett aktivt val).

Jag tycker ändå att det verkar som om det faktiskt fungerar... Annars borde du ha fått upp antingen ett fel i loggen eller ett fel i klienten.

Kontrollera gärna en extra gång att:
  • Du verkligen angett samma user + pass som du skrivit in i Windows-klienten där man anger user+pass för REST-klienter
  • Har rätt version satt i Android-klienten = att den står inställd på att köra mot 0.9
  • Android-klienten har rätt port satt (alltså motsvarande serverport, som vanligtvis är 8800)
Martin | Switch King

xepT
2 stars
2 stars
Posts: 21
Joined: Wed 23 Feb 2011, 10:26

Re: Ubuntu error

Post by xepT » Wed 23 Feb 2011, 15:22

Martin wrote: Jag tycker ändå att det verkar som om det faktiskt fungerar... Annars borde du ha fått upp antingen ett fel i loggen eller ett fel i klienten.

Kontrollera gärna en extra gång att:
  • Du verkligen angett samma user + pass som du skrivit in i Windows-klienten där man anger user+pass för REST-klienter
  • Har rätt version satt i Android-klienten = att den står inställd på att köra mot 0.9
  • Android-klienten har rätt port satt (alltså motsvarande serverport, som vanligtvis är 8800)
Tack för ett snabbt svar.

Användarnamnet och lösenordet Verktyg --> Inställningar --> Server, har jag testat att ändra tillbaka till user / pass, och sedan tillbaka till "mitt" igen, utan framgång. Men jag får inget error o loggarna även om jag uppger fel information.
Kommunikation mellan telefonen och andra tjänster fungerar fint.

Klienten är satt att ansluta mot serverversion 0.9 (har testat mot 0.8 också för den delen).
Porten är satt på samma som jag startar serven med, dvs port 9900 i mitt fall. Har även testat att starta serven på andra portar och får då svaret "connection refused" om jag inte direkt uppdaterar porten i telefonen, vilket får mig att tro att anslutningen upprättas, men ingen information visas.

Kan man via webbläsaren lista en / alla devices?
http://domän:port/devices/1/status eller liknande, för att se annan information än det som syns vid enbart /devices?

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ubuntu error

Post by Martin » Wed 23 Feb 2011, 15:32

När du inte får "connection refused" med telefonen, men listan blir tom, får du då någon notering i Switch Kings loggfil (om du kör debug-läge) på att den har försökt hämta information?

Om du knackar in följande i webbläsaren på din Android, får du upp något då:
http://user:pass@dindoman:8800/devices

För att få information om enhet med ett ID=1 kan du ange:
http://user:pass@dindoman:8800/devices/1

...men då måste du veta ID:t på enheten först ;)
Martin | Switch King

xepT
2 stars
2 stars
Posts: 21
Joined: Wed 23 Feb 2011, 10:26

Re: Ubuntu error

Post by xepT » Wed 23 Feb 2011, 16:07

:banghead: :banghead: :banghead:

I tröttheten och allt pulande små missade jag den mest banala inställningen, vilket jag iofs inte ens hade tänkt på förens jag försökte gå in via webbläsaren i telefonen.
Serven startas med mindomän.se
Adressen i telefonen var på slutet ställd på: www.mindomän.se vilket inte alls fungerade nå vidare bra.

Jag får sitta här och skämmas lite.
Tack för "hjälpen" Martin, det uppskattas.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: Ubuntu error

Post by Martin » Wed 23 Feb 2011, 16:43

Gott att det löste sig!
Martin | Switch King

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests