Pregunta

Tengo un sitio web con un servicio WCF habilitado para Silverlight. El servicio funciona bien, y puedo navegar a la página WSDL en el navegador sin problemas.

Ahora, estoy tratando de crear un cliente en una DLL. Sin embargo, necesito crear todo el cliente mediante programación, porque se llama en una DLL, que por cualquier razón (¿por diseño?) No leerá la sección ServiceModel desde su propio archivo de configuración.

Entonces aquí está mi código:

Dim endp As EndpointAddress = New EndpointAddress("http://www.mydomain.com/licensing/lic.svc")
Dim bind As WSHttpBinding = New WSHttpBinding()
Dim svc = New lnt.licClient(bind, endp)
Dim rsp = svc.CheckIt(key)

Pero cuando llamo al método svc.CheckIt, aparece el siguiente error:

Content Type application/soap+xml; charset=utf-8 was not supported by service http://www.mydomain.com/licensing/lic.svc. 
The client and service bindings may be mismatched.
{"The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'application/soap+msbin1'.."}

¿Cómo creo correctamente mi cliente para que estos se correspondan correctamente? ¡Gracias de antemano!

¿Fue útil?

Solución

Ah --- lo encontré. La sección ServiceModel en web.config del sitio web se configuró en customBinding . Lo cambió para que coincida con lo que el cliente estaba enviando, y ahora funciona de maravilla.

Otros consejos

Me encontré con este mismo problema. Más específicamente, mi solución fue actualizar el tipo de enlaces que estaba usando. Estaba usando wsHttpBindings en lugar de basicHttpBindings . Esto estaba causando fallas ya que wsHttpBindings usa SOAP 1.2 mientras que basicHttpBindings usa SOAP 1.1 y el servicio que estaba usando requería SOAP 1.1

Tuve el mismo error. El servicio estaba compilando, la aplicación del cliente también. La referencia de servicio en la aplicación del cliente estaba actualizando la referencia con éxito. He intentado eliminar y agregar referencia una vez más y no fue útil. El problema estaba en la interfaz eliminada en el servicio web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top