[RPC Fault faultString="Channel disconnected" faultCode="Client.Error.DeliveryInDoubt" faultDetail="Channel disconnected before an acknowledgement was received]
tengo otra aplicación y si me corre perfectamente y me proyecta los datos de mi clase en php pero esta no se porque no me funciona si utilice el mismo procedimiento y las 2 las hice yo. aquí les dejo el código:
Código Flex :
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.events.ScrollEvent;
import mx.rpc.Fault;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Blindable]
private var objTrab:Object = new Object();
[Bindable]
private var TablaDP:ArrayCollection = new ArrayCollection()
protected function TablaG_itemClickHandler(event:ListEvent):void
{
//Alert.show("seleccionado... "+TablaDP.toString());
var obj:Object = TablaG.selectedItem;
objTrab = obj;
var index:int = 0;
for(var i:int=0 ; i<TablaDP.length ; i++)
{
if(TablaDP[i].id == objTrab.toString())
{
index = i;
break;
}
}
Alert.show("Ha seleccionado el Archivo: "+ TablaG.selectedItem[DataGridColumn(TablaG.columns[event.columnIndex]).dataField].toString(),"Atención");
}
protected function cncel_clickHandler(event:MouseEvent):void
{
mirem.directorio("C:/xampp/htdocs/flex/visor/panel_nub/bin-debug/contenido");
//=TablaG.selectedItem[DataGridColumn(TablaG.columns[event.columnIndex]).dataField].toString();
}
protected function mirem_faultHandler(event:FaultEvent):void
{
// TODO Auto-generated method stub
Alert.show(event.fault.toString());
}
/*[Blindate]
private var directorio1:ArrayCollection = new ArrayCollection();*/
protected function directorio_Result(event:ResultEvent):void
{
if(event.result is Array)
{
TablaDP = new ArrayCollection(event.result as Array);
objTrab=TablaDP[0];
}
else
TablaDP = new ArrayCollection();
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="mirem" source="clases.leer_dir" destination="amfphp" fault="mirem_faultHandler(event)" showBusyCursor="true">
<s:method name="directorio" result="directorio_Result(event)"/>
</s:RemoteObject>
</fx:Declarations>
<mx:DataGrid x="22.55" y="81.4" dataProvider="{TablaDP}" id="TablaG" itemClick="TablaG_itemClickHandler(event)" >
<mx:columns>
<!--mx:DataGridColumn headerText="ID" dataField="idCol" width="30"/-->
<mx:DataGridColumn headerText="Nombre del Archivo..." dataField="nombre" width="300" />
</mx:columns>
</mx:DataGrid>
<s:Button x="515.75" y="43.65" label="Directorio..." id="cncel" click="cncel_clickHandler(event)"/>
</s:Application>
Código PHP :
<?php
require_once 'nombres.php';
class leer_dir
{
public function directorio($dir)
{
//$dir = 'C:/xampp/htdocs/flex/clasesp1/nuevoflex/base_datos/funcion_dir-debug/nueva_carpeta';
// Abrir un directorio conocido, y proceder a leer sus contenidos
if (is_dir($dir))
{
if ($gd = opendir($dir))
{
while ($archivo = readdir($gd))
{
echo "<br>$archivo</br>" ;
$nomb1 = new nombres;
$nomb1->Nombre_archivo=$archivo;
}
closedir($gd);
}
}
}
}
?> 