Hi there,
I have a problem with the RemoteObject and its generated
request. At least i think i have for i am clueless what else could
be the problem.
I tried to run a zend_amf controller to connect my
RemoteObject to the php backend logic. Whenever i am trying to call
a service methode i get an BadVersion error as a result.
When capturing the request with ServiceCapture i get the
following details:
HeadersPOST /~smarti/svn/Zend_AMF/index.php:443 HTTP/1.1
Host: ziddev.boku.ac.at
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de;
rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Cookie: ZDEDebuggerPresent=php,phtml,php3
Content-Type: application/x-amf
Content-Length: 244
PerformanceType: text
This request bundled all of the following service calls:
()
Request: 743 bytes
Response: 695 bytes
Total: 1438 bytes
Response Time: 0.125 seconds
I found some examples in the internet specifying the type to
be AMF and the service calls holding the methode name. Zend_Amf
therefore returns the same info line as i would get when calling
the gateway file with the browser.
It seems to me that i have some local problem thought my mxml
code is quite easy and i think no errors could be hidden anywhere
inside (and anyway its the code from the HelloWorld tutorial)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"layout="absolute" >
<mx:RemoteObject id="myservice"
invoke="invokeHandler(event)" fault="faultHandler(event)"
showBusyCursor="true" destination="zend" source="HelloWorld" >
<mx:method name="say" result="resultHandler(event)" />
</mx:RemoteObject>
<mx:Script>
<![CDATA[
import mx.rpc.remoting.mxml.RemoteObject;
import mx.rpc.events.InvokeEvent;
import mx.managers.CursorManager;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
private function invokeHandler(invoke:InvokeEvent):void
{
}
private function faultHandler(fault:FaultEvent):void
{
CursorManager.removeBusyCursor();
trace( "code:\n" + fault.fault.faultCode +
"\n\nMessage:\n" + fault.fault.faultString +
"\n\nDetail:\n" + fault.fault.faultDetail);
}
private function resultHandler(event:ResultEvent):void
{
response_txt.text = event.result.toString();
}
private function myservicecall(msg:String):void{
myservice.say(msg);
}
]]>
</mx:Script>
<mx:TextInput x="10" y="20" id="server_txt" text="Connect
to Zend Amf" />
<mx:TextArea x="10" y="50" id="response_txt"
width="278"/>
<mx:Button x="178" y="20" label="Send to Server"
id="send_btn" click="myservicecall(server_txt.text)"/>
</mx:Application>
I have no glue and i am thankful for any hints anyone could
give me,
cheers druckreich