preload
basicPlayer

Comunio API WSDL- Ayuda

Comunio.es Forum Index -> Bugs, problemas y dudas sobre Comunio:
Author Message
Guest





PostPosted: 26 Jan 2014 11:11   Post subject: Comunio API WSDL- Ayuda Reply with quote

Hola,

Estoy empezando a desarrollar una app sobre comunio, pero tengo un problema con el webservice. Cuando se trata de extraer datos directos como un id o un nombre de usuario va todo perfecto, es decir, cuando el método devuelve un tipo int, string, etc..., pero cuando el método devuelve un objeto de tipo User o de tipo ArrayOfUserId, estos método siempre dan error, salta una excepción que avisa de que ha sido imposible deserializar el objeto.

¿Hay alguien en el foro que pueda ayudarme? Ya he contactado con el email de soporte en español y me dicen que contacte con los alemanes, pero ya les he escrito varios emails y el primero es de hace bastante tiempo y en ningún momento he recibido respuesta.

Muchas gracias. Saludos.
Back to top
Guest





PostPosted: 29 Jan 2014 13:35   Post subject: Reply with quote

Buenos días VanRaidex,

Estoy creando una aplicación para móvil de prueba en la que consumir el WebService de Comunio.

He encontrado este servicio: http://www.comunio.es/soapservice.php?wsdl, pero una vez añadido a Visual Studio no puedo acceder a sus operaciones. Estoy acostumbrado a trabajar con .asmx, quizás ese sea el problema.

Si fueras tan amable, ¿podrías mostrarme cómo realizar la conexión y consumir los datos?

Muchas gracias por adelantado.
Back to top
Guest





PostPosted: 29 Jan 2014 17:06   Post subject: Reply with quote

Hola,

Yo también estoy usando Visual Studio y ese es el webservice que uso yo. Nunca he usado .asmx por lo que no puedo decirte nada al respecto.

Lo que yo hago es añadir una web reference en la carpetas de referencias de mi proyecto. Una vez añadida puedes usarla en tu proyecto con el nombre que le hayas dado o poniendo un using y el nombre como cualquier otra referencia que usas.

Una vez hecho eso creo el soapclient, tiene un nombre específico que ahora no recuerdo. Y luego es solo llamar a los métodos, pero algunos no me funcionan y no sé si es que ese webservice no es público y necesita credenciales.

Si tienes alguna duda o problema haciendo lo que te digo escribe por aquí y te paso el código para que puedas ver como lo he hecho

Saludos.
Back to top
Guest





PostPosted: 29 Jan 2014 18:40   Post subject: Reply with quote

Hola VanRaidex,

Gracias por la respuesta.

Yo creo que es lo mismo que estoy haciendo yo, pero no me aparece ningún método.

Esto es lo que he hecho:

1. Agrego al proyecto una referencia de servicio utilizando la URL: http://www.comunio.es/soapservice.php?wsdl
2. Ya en el código:

Dim comunioClient As ComunioWs.soapservicewsdlPortTypeClient = New ComunioWs.soapservicewsdlPortTypeClient()

donde ComunioWs es el nombre que le puse a la referencia de servicio.

3. Pues bien, poniendo "comunioClient." no me aparece ningún método interesante. Entre otros: Abort, ChannelFactory, ClientCredentials, EndPoint,...


¿Hay algo que me falte por configurar?

Gracias de nuevo.[/img]
Back to top
Guest





PostPosted: 29 Jan 2014 18:53   Post subject: Reply with quote

Pues es raro. Deberían de salirte más métodos. Aún así no entiendo tú código, lo de Dim y As. Yo he puesto esto:

ComunioApi.soapservicewsdlPortTypeClient api = new soapservicewsdlPortTypeClient();

al poner api. me muestra un montón de métodos, por ejemplo:

api.getuserid("nombre_del_usuario");

Si pones ComunioApi., en tu caso ComunioWs. también deberían de aparecerte métodos y tipos como ArrayOfCLubs, etc...

Saludos.
Back to top
Guest





PostPosted: 30 Jan 2014 11:07   Post subject: Reply with quote

Hola VanRaidex,

Pues parece que funciona correctamente en todo tipo de proyectos menos en Windows Phone....

Por otro lado, he probado a recuperar la alineación, y me lanza una excepción "service unknown". Este es mi código:

Dim WSCom As New WSComunio.soapservicewsdlPortTypeClient
WSCom.Open()
Dim nombre As String = WSCom.getlogin(XXXXXX) ' Aquí recupera bien mi nombre de usuario
Dim players As ArrayOfPlayerlineup = WSCom.getuserscurrentlineup(XXXXXXX) ' Aquí falla!!!

Tengo que acreditar primero mis credenciales o algo? Te falla a ti tb en este método?
Back to top
Guest





PostPosted: 30 Jan 2014 12:15   Post subject: Reply with quote

Hola jamesand,

Yo tengo pensado crear una pequeña aplicacion web para gestionar los puntos de mi comunidad ya que dividimos la liga en apertura y clausura y quiero consumir los WebServices que comunio tiene publicados. Los más básicos como pueden ser getuserid o gelogin los puedo usar sin problemas, pero cuando intento ejecutar el getuserspoints, me da este error:

<faultcode>SERVER</faultcode>
<faultstring>Permission denied. SoapFault exception: [SERVER] no permission to use this service for userid ESXXXXXX in /var/www/vhosts.d/comunio_es/external/soap/soapservice.php:185
Stack trace:
#0 /var/www/vhosts.d/comunio_es/external/soap/soapservice.php(257): checkPermissions(9761377)
#1 /var/www/vhosts.d/comunio_es/external/soap/soapservice.php(487): checkpermissionsintern(9761377, 'getuserspoints')
#2 [internal function]: getuserspoints(XXXXXX)
#3 /var/www/vhosts.d/comunio_es/external/soap/ComunioSoapServer.php(93): SoapServer->handle()
#4 /var/www/vhosts.d/comunio_es/external/soap/soapservice.php(3240): ComunioSoapServer->handle('&lt;soapenv:Envelo...')
#5 /var/www/vhosts.d/comunio_es/soapservice.php(3): include_once('/var/www/vhosts...')
#6 {main}</faultstring>


Sabeis como solucionarlo? Igual hay que poner algunas credenciales a la llamada, pero no encuentro documentación sobre ello.

Last edited by Guest on 30 Jan 2014 12:58; edited 1 time in total
Back to top
Guest





PostPosted: 30 Jan 2014 12:30   Post subject: Reply with quote

Hola,

He estado mirando el wsdl del soapservice y he encontrado esto:

<operation>
<documentation>
Signup a user for this web service, returns true on success. (Only registered IPs)
</documentation>
<input>
<output>
</operation>

Imagino que esto significará que para usar ciertos WS, han de tener tu IP registrada, por lo que habrá que pedir a comunio que lo haga. Escribí hace unos dias un mail al admin de c o m u n i a z o (lo pongo así porque si no sustituyen el texto por la cadena 'no recomendable') para ver como obtiene él los datos de todo el mundo, e imagino que su IP estará registrada en el fichero hosts de comunio.

Viendo el error que me da a mi desde el soapUI tiene sentido lo que digo, ya que en una de las líneas pone lo siguiente: include_once('/var/www/vhosts...'), por lo tanto está mirando a ver si la IP está registrada.

Me parece que sin el soporte de comunio no se podrán usar muchos de los servicios, con lo cual será dificil hacer algo útil.

Un saludo.

Last edited by Guest on 30 Jan 2014 13:08; edited 1 time in total
Back to top
Guest





PostPosted: 30 Jan 2014 13:06   Post subject: Reply with quote

Hola jail81c,

Pues tiene toda la pinta. Voy a escribir yo tb a ver si hay suerte. ¿Nos informamos si obtenemos respuesta?

Saludos.
Back to top
Guest





PostPosted: 30 Jan 2014 13:10   Post subject: Reply with quote

Hola jamesand,

Ok, nos informamos si nos dan respuesta, aunque por lo que he leído por ahi los admins de comunio son muy lentos respondiendo, a ver si el de c o m u n i a z o contesta.

Un saludo.
Back to top
Display posts from previous:   
Page 1 of 1



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group