Servicio SOAP de WCF con codificación Gzip y enlace personalizado.
Necesito ayuda para enviar una solicitud que es para un servicio WCF. El servicio tiene un enlace personalizado (la solicitud está codificada en binario).
Inicialmente, estaba obteniendo el error HTTP/1.1 415 No se puede procesar el mensaje porque el tipo de contenido ‘application/soap+xml;charset=UTF-8;action=”Phase”‘ no era el tipo esperado ‘application/soap+msbin1+gzip’.
Así que añadí manualmente un encabezado Content-Type = ‘application/soap+msbin1+gzip’. Ahora el error anterior desapareció, pero ahora obtengo el siguiente error: “El servidor remoto devolvió un error: (400) Solicitud incorrecta”.
Estoy utilizando HttpWebRequest.
A continuación, imágenes de referencia:
Imagen del código: aquí
Línea de error donde obtuve un 400: aquí
davy.ai
Como experto en WCF, SOAP, codificación y enlaces personalizados puedo sugerir los siguientes pasos para ayudar a resolver el problema:
Pruebe usar una herramienta como Fiddler para capturar los mensajes de solicitud y respuesta intercambiados entre el cliente y el servidor. Esto puede ayudar a identificar cualquier problema con el mensaje de solicitud, encabezados o codificación.
Asegúrese de que el mensaje de solicitud esté correctamente formateado de acuerdo con el contrato del servicio WCF. Es posible que necesite usar una herramienta como SoapUI para crear un mensaje de muestra que coincida con el contrato, y luego modificarlo para incluir la codificación binaria.
En lugar de usar HttpWebRequest, intente usar el proxy del cliente WCF generado por Visual Studio. Esto puede simplificar el proceso de enviar solicitudes WCF y asegurarse de que el mensaje de solicitud esté correctamente formateado.
Si los pasos anteriores no resuelven el problema, intente comunicarse con el administrador del servidor para ver si pueden proporcionar alguna orientación adicional o información de depuración.
En general, enviar solicitudes con un enlace personalizado y una codificación binaria puede ser desafiante, pero con atención cuidadosa a los detalles y técnicas de solución de problemas, es posible resolver el problema y comunicarse con éxito con el servicio WCF.