flash applikation

hallo ich würde gerne eine flash / flex applikation in as3 schreiben-…

welche man als adobe air installation als stanalone version aufruft…

wie kann ich auf bereits erstellte scripte in der ip symcon zugreifen?

wenn ich die applikation über einen webbrowser laufen lasse??

Hallo,

meines Wissens nur per SOAP Schnittstelle.

Genau. Stichwort WSDL. Über Localhost (oder entsprechende IP) auf Port 3773

Gruß,

Toni

Moin Toni,

da war wohl eine auf Fasching :smiley:

Port ist 3773 :stuck_out_tongue:

Es war LAN… :o
Aber du hast Recht… habs oben geändert…

Toni

Hallo alle miteinander,

ich hatte mich auch schon länger mit dem Gedanken getragen, eine Flashoberfläche für IPS zu entwickeln. Ich bin mit Actionscript 3.0 ganz gut vertraut, habe auch schon so einige Erfahrungen was die Programmierung von Oberflächen anbelangt. Ich würde gern einen mehr oder minder universellen Dashboard-Ersatz in Flash kreieren, der dynamisch zunächst über ein Settings-File und später am besten auch innerhalb der Oberfläche angepasst werden kann. Das Know How ist wie gesagt vorhanden, außer…

Die SOAP-Schnittstelle. Eine Katastrophe, ich komme da seit zwei Tagen keinen Schritt weiter. Der jetzige Stand:

import mx.rpc.soap.*;
import mx.core.*;
import mx.rpc.events.*;
import fl.data.DataProvider;
//import mx.logging;

//Security.loadPolicyFile("http://192.168.0.26/crossdomain.xml");

var svc:WebService = new WebService();

svc.addEventListener(LoadEvent.LOAD, svcLoaded);
svc.addEventListener(FaultEvent.FAULT, svcError);

svc.loadWSDL("http://192.168.0.26:3773/wsdl/IIPSVariableManager");

function svcLoaded(evt:LoadEvent):void
{
	trace("loading complete.");
	ipsCall("GetVariableList", gotVariableList);
	function gotVariableList(evt:ResultEvent):void
	{
		ipsCall("GetVariable", undefined, undefined, "VariableID", 29028);
	}
}

function svcError(evt:FaultEvent):void
{
	trace("svc fault", evt);
	
}

function ipsCall(fnName:String, fnSuccess:Function = undefined, fnError:Function = undefined, ... parArray):void
{
	var op:Operation = new Operation();
	var i:int;
	op = Operation(svc.getOperation(fnName));
	trace("calling", fnName, fnSuccess);
	op.addEventListener(ResultEvent.RESULT, opResult);
	op.addEventListener(FaultEvent.FAULT, opFault);
	op.ignoreWhitespace = true;
	op.resultFormat = "object";
	op.forcePartArrays = true;
	//op.headerFormat = "e4x";
	for(i = 0; i < parArray.length; i += 2)
	{
		op.addSimpleHeader(parArray[i], svc.wsdl, parArray[i], parArray[i + 1])
		trace(parArray[i], "=", parArray[i + 1]);
	}
	op.send();
	function opResult(evt:ResultEvent):void
	{
		trace(evt);
		trace(evt.result);
		if(fnSuccess is Function)
		 fnSuccess(evt);
		op.removeEventListener(ResultEvent.RESULT, opResult);
		op.removeEventListener(FaultEvent.FAULT, opFault);
	}
	function opFault(evt:FaultEvent):void
	{
		trace(evt);
		if(fnError is Function)
		 fnError(evt);
		op.removeEventListener(ResultEvent.RESULT, opResult);
		op.removeEventListener(FaultEvent.FAULT, opFault);
	}
}


Während der erste Call zu GetVariableList auf Anhieb problemlos funktionierte, ist beim GetVariable Zickenalarm angesagt. Ich bekomme ein Fault zurück mit dem Namen „Encoding Error“. Ich habe keine Ahnung woher dieser Fehler kommt (Client? Server? Disneyland?) und es gibt auch, typisch Flash, keine hilfreichen Informationen darüber. Unter soapUI (ein Testprogramm für Webservices) läuft das ganze. Ist also definitiv nicht IPS’ Schuld.

Also, falls jemand Lust haben sollte, oder sich ohnehin gerade mit ähnlichen „spaßigen“ Herausforderungen beschäftigt, herzlich willkommen! Wenn ich die Kommunikation mit IPS erstmal hinbekomme, kann ich mich austoben aber bis dahin beiß ich hier vor Frust in die Tischplatte…

Ich denke aber, der Reiz einer Flashoberfläche im Gegensatz zum Dashboard dürfte einem schnell klar werden wenn man mal ein IPhone und ein Symbian-Gerät nebeneinander in der Hand hatte…

So, nun hab ich es doch hinbekommen. Die Doku von Flex/Actionscript war dabei allerdings wieder einmal keine Hilfe…

also ich kann mit der oberfläche helfen… jedoch kein plan von der soap nummer… wenn du die connection hinbekommst kann ich mit allem anderen dienen … 3d integrieren etc…

grüße und auf gutes gelingen…