Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con Webservice cliente en C#

Estas en el tema de Problema con Webservice cliente en C# en el foro de .NET en Foros del Web. Hola, cómo están? En el trabajo me pidieron desarrollar una pequeña app que tome datos de un webservices (soap) que ya existe y muestre los ...
  #1 (permalink)  
Antiguo 08/05/2017, 08:00
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 53
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Problema con Webservice cliente en C#

Hola, cómo están?

En el trabajo me pidieron desarrollar una pequeña app que tome datos de un webservices (soap) que ya existe y muestre los datos. El problema es que no estoy pudiendo hacerlo andar en C# (uso Visual studios 2015 para desarrollarlo). Si me funciona si lo hago el cliente en PHP.

En C# me devuelve el siguiente error:

Código:
System.InvalidOperationException: Error en el documento XML (2, 548). ---> System.InvalidCastException: No se puede asignar el objeto de tipo System.Xml.XmlNode[] al objeto de tipo WSprueba.ServiceReference1.Existe.
   en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderClienteDAOPort.Read8_PruebaWSResponse()
   en Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer1.Deserialize(XmlSerializationReader reader)
   en System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   en System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest)
El procedimiento que yo hago para implementar el webservices, es agregar el WSDL como Service Reference y luego intento utilizar las clases desde el código de mi proyecto.

Aviso que no la tengo muy clara en el tema de los web services.

¿Alguna idea en que me pueda estar equivocando, o qué me pueda estar faltando? Muchas gracias!
  #2 (permalink)  
Antiguo 09/05/2017, 19:14
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 4 meses
Puntos: 37
Respuesta: Problema con Webservice cliente en C#

Si puedes postear parte de tu codigo seguro te podran dar mas soporte.

Regularmente cuando te dan la info del acceso al webservice (independientemente de que ya lo hayas incorporado a tu proyecto), te deben indicar si:

Al solicitar el servicio debes enviar parametros o no. En caso de que si, si se enviaran por GET o POST
Si requieres quiza llamar a un metodo de autenticacacion (enviando primero usuario y clave de acceso), o quiza generarte un token de sesion

Una vez conectado el servicio, ver como viene la respuesta, que puede ser XML, o REST, conocer los nodos que vengan en el mismo para poder parsearlo.

Este es por ejemplo, con VB.net una llamada que hago al webservice del SAT para validar facturas, el servicio lo importe tal como tu lo mencionas (yo se puse consultaCFDI_SAT), y el codigo para llamarlo:

Dim oConsulta As consultaCFDI_SAT.ConsultaCFDIServiceClient = New consultaCFDI_SAT.ConsultaCFDIServiceClient()
Dim oAcuse As consultaCFDI_SAT.Acuse = New consultaCFDI_SAT.Acuse()
oAcuse = oConsulta.Consulta("?re=" & rfcEmisor & "&rr=" & rfcReceptor & "&tt=" & importe & "&id=" & uuid)
oConsulta.Close()


Respecto de "Aviso que no la tengo muy clara en el tema de los web services.", lee un poco mas, es un tema sumamente interesante por la gran diversidad de aplicaciones, yo, por ejemplo he usado webservices:
a) Para recibir y enviar informacion a clientes android con formato JSON
b) Para conectarme a un website de un ERP que me envia la informacion del catalogo de clientes (una cantidad muy grande de campos para dicho ERP)
c) Para timbrar facturas CFDI
d) Para enviar informacion de CFDIs a cadenas de servicio como Soriana

Etiquetas: cliente, webservice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:17.