elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:58  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Webservice, problema el retornar un dato con un SoapServer(PHP)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Webservice, problema el retornar un dato con un SoapServer(PHP)  (Leído 1,532 veces)
egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Webservice, problema el retornar un dato con un SoapServer(PHP)
« en: 15 Enero 2011, 18:50 »

Hola a todos, soy nuevo por aca.
Tengo una problema que  no he podido resolver aún (he estado varios dias dandole vuelta por todas partes)

Estoy creando un WebService sin nusoap(y no pienso usarlo), usando directamente las clases que ofrece PHP. El problema esta cuando llamo una función usando un cliente de mi servicio (uso el WcfTestClient) este me lo rechaza diciendo que no puede deserializar la salida.

Este es el dato que quiero retornar.
Código
<xsd:complexType name="Target">
  <xsd:all>
     <xsd:element name="id" type="xsd:int"/>
     <xsd:element name="name" type="xsd:string"/>
     <xsd:element name="contador" type="xsd:int"/>
     <xsd:element name="max_contador" type="xsd:int"/>
   </xsd:all>
</xsd:complexType>
 

Esta es la clase que deberia ser la clase del dato que envio
Código
class Target{
var $id;
var $name;
var $contador;
var $max_contador;
   function Target($id, $name, $contador, $max_contador)
   {
       $this->id= $id;
       $this->name = $name;
       $this->contador = $contador;
       $this->max_contador = $max_contador;
   }
}

La función previamente registrada por el server y describida por el WSDL
Código
function achievements($session){
  //aqui retorno un dato cualquiera, pero sin embargo me lo rechaza el cliente.
  $struct = new Target(1, "LOL",1,10);
  return $struct;
}
 

El servidor Soap en PHP.
Código
$classmap = array('Target'=>'Target');
          $param =  array(
'encoding'=>'UTF-8',
'soap_version' => SOAP_1_2,
"classmap"=>$classmap
);
 
$server = new SoapServer("gameCommunity.wsdl",$param);
$server->addFunction('achievements');
 
$server->handle();
 


Realmente no se en donde puede estar el problema, siendo que sí uso los datos primitivos como int, string, boolean, etc... el cliente de prueba me los acepta bien sin embargo, sí defino un dato, este me lo rechaza.
Espero encontrar aqui la solución ya que he perdido mucho tiempo buscando la solución.
Les agradezco de antemano, muchas gracias Saludos a todos.


En línea

egyware


Desconectado Desconectado

Mensajes: 436


GameDeveloper


Ver Perfil WWW
Re: Webservice, problema el retornar un dato con un SoapServer(PHP)
« Respuesta #1 en: 16 Enero 2011, 02:41 »

Hasta que porfín encontre el error (fue casualidad)

Tenia describido el mensaje de salida esta manera
Código
<message name="AchievementsOutput">
<part name="return" type="xsd:Target" />
 </message>
 

Y era
Código
<message name="AchievementsOutput">
<part name="return" type="tns:Target" />
 </message>
 

Se fijaron TRES LETRAS producia mi error!!!

Ya gracias por todos los que se dignaron por lo menos leer el tema.
Saludos a todos!

Nota al Moderador:
Sorry por el doublepost.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
funcion retornar un char
Programación C/C++
octalh 3 1,519 Último mensaje 26 Julio 2008, 04:02
por octalh
Problea al retornar un Array con webservice.net
.NET
apache_scrc 4 1,571 Último mensaje 19 Agosto 2010, 18:10
por apache_scrc
Android (Descomprimir String GZIP que viene de Webservice .NET)
Java
seba123neo 4 2,283 Último mensaje 28 Noviembre 2010, 01:47
por seba123neo
[Ayuda] Webservice (archivo wsdl) .NET
.NET
oscarj24 4 2,285 Último mensaje 11 Julio 2011, 07:24
por oscarj24
Llamada a WebService mediante SOAP
PHP
|Miguel| 1 91 Último mensaje 21 Mayo 2012, 12:38
por |Miguel|
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines