Enheter via REST

Kommentarer, hjälp och tips angående Linux-versionen av Switch King (v0.9).
Locked
Zenox
2 stars
2 stars
Posts: 44
Joined: Sat 27 Nov 2010, 16:11

Enheter via REST

Post by Zenox » Sat 18 Dec 2010, 10:53

Testar lite med sambons Android mot Linuxservern då det stod något om det i changelog för senaste versionen.

Tänkte se så man får upp enheterna i browsern först. Surfade till http://192.168.1.10:8800/devices

I webbläsaren står bara detta (även om jag har 4 enheter jag kan se och styra via Windowsklienten):

Code: Select all

<ArrayOfRESTDevice i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://SwitchKing.Common/Entities/RESTSimplified/2010/07" />
Ser inget intressant i vanliga loggfilen men bifogar den ändå.

Däremot i console för servern fås följande Exception direkt man gör anropet:

Code: Select all

Exception DispatchOperation '*' 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
Kanske bara är någon inställning som måste till eller något library för Mono som ska installeras (i så fall kan det vara bra att ha dokumentation på det till senare).

Nån idé på vad det kan vara?
You do not have the required permissions to view the files attached to this post.

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

Re: Enheter via REST

Post by Martin » Sat 18 Dec 2010, 11:31

Detta är en begränsning i Mono på Linux och beror på att Mono på Linux saknar viss funktionalitet.
I Linux fungerar det inte att webbläsaren först skickar en anonym request till servern utan man måste skicka user+pass direkt via headers i själva anropet. Det gör att det blir problem med att plocka ut enheter direkt i webbläsaren.

Android-klienten skickar begäran direkt med user+pass så där fungerar det och du ska få upp enheterna.

Felet i konsollen kan vara ett följdfel av det ovan, men jag har tidigare också fått felet när jag angett fel adress till ett REST-anrop. I Windows fungerar exempelvis både http://localhost:8800/devices och http://localhost:8800/devices/ men i Linux genererar adressen med "/" på slutet ett fel i konsollen på grund av en skillnad i implementationen i Mono.
Martin | Switch King

Zenox
2 stars
2 stars
Posts: 44
Joined: Sat 27 Nov 2010, 16:11

Re: Enheter via REST

Post by Zenox » Sun 19 Dec 2010, 19:52

Testat med HTC Desire nu och det fungerade klockrent direkt. Fick upp enheterna och kunde välja schema/på/av utan problem :D

Locked

Who is online

Users browsing this forum: No registered users and 8 guests