Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2007, 17:27
Avatar de onlykfk
onlykfk
 
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 18 años, 8 meses
Puntos: 1
Diferencia entre "rpc|document" y "encoded|literal"

A ver si alguien me explica de ke va eso del 'document|rpc' y el 'encoded|literal' ya que tengo un servicio Web ke declarado asi:
Código:
require_once("../lib/nusoap.php"); 
$ns='http://'.$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"];
$server = new Soap_Server(); 
$server->configureWSDL('misServicios',$ns); 
$server->wsdl->schemaTargetNamespace=$ns; 
$server->register('ejecutaPrueba',
       array('sCadenaDePrueba' => 'xsd:string'),
       array('return' => 'xsd:string'),
       $ns,
       $ns."#ejecutaPrueba",
       'document',
       'literal',
       'Devuelve una cadena de respuesta');
 
function ejecutaPrueba($sCadenaDePrueba) {
  $sRes = "Hola  mundo";
  return $sRes;
}
Me regresa un valor Array
Código:
$wsdl = "http://localhost/ws/misServicios.php?wsdl";
$client = new soapclient($wsdl, 'wsdl');
$param = array('sCadenaDePrueba' => 'una cadena de texto');
echo $client->call('ejecutaPrueba', $param);
imprime Array y si imprimo
Código:
sizeof($client->call('ejecutaPrueba', $param))
me imprime 1
Sin embargo si hago referencia al elemento 0 me arroja error
por ejemplo:
Código:
$wsdl = "http://localhost/ws/misServicios.php?wsdl";
$client = new soapclient($wsdl, 'wsdl');
$param = array('sCadenaDePrueba' => 'una cadena de texto');
$arrRes = $client->call('ejecutaPrueba', $param);
echo ($arrRes[0]);
me responde:
Notice: Undefined offset: 0 ....

Estaba manejando el estilo 'rpc' con 'encoded' sin embargo cuando lo pretendo utilizar con un cliente de Java (con IDE netbeans) me dice:'rpc encoding not supported', lo cambie a 'document' y con 'literal' lo leyo sin problemas, sin embargo en el cliente de PHP me arroja ke es un array pero no hallo como leerlo.

Por favor, alguien ke me explike, ya ke me super-urge.

¿Que debo hacer para solucionar este asunto?

Saludos y de antemano GRACIAS
__________________
Yo tan sólo se, que no he senado