2012-06-23 6 views
5

Mientras que la adición de un HTTPS habilita el Servicio WCF como referencia de servicio a través del IDE de Visual Studio 2010, la siguiente excepción ocurrióNo es capaz de añadir HTTPS habilitado el servicio de WCF como referencia de servicio en Visual Studio 2010 IDE

There was an error downloading 'https://abc.cloudapp.net/DataService.svc'. The request failed with HTTP status 403: Forbidden. Metadata contains a reference that cannot be resolved: 'https://abc.cloudapp.net/DataService.svc'. The HTTP request was forbidden with client authentication scheme 'Anonymous'. The remote server returned an error: (403) Forbidden. If the service is defined in the current solution, try building the solution and adding the service reference again.

Por favor, me sugieren una solución para esto.

+0

Esto podría ayudar: http://stackoverflow.com/a/8039477/802799 –

Respuesta

0

He encontrado este problema anteriormente, intente agregar http://abc.cloudapp.net/DataService.svc (es correcto sin https) y una vez que se agrega el servicio, realice el cambio en el archivo web.config de http a https.

+0

pero esto aún arrojará el error cuando la primera llamada al contrato se realice durante el tiempo de ejecución. – rajnish

3

La cuestión es la unión de metadatos. Debe permitir que https GET use la misma URL para los metadatos y el servicio en sí.

<serviceMetadata httpsGetEnabled="true" /> 

Esto permitirá que WCF sirva los metadatos a través de HTTPS.

+0

Sí .. me puse a httpsGetEnabled cierto .. – rajnish

0

¿Se puede acceder a la URL https basado en IE y obtener WSDL? Si puede obtener WSDL en IE sin ningún problema, entonces tiene un certificado instalado en su máquina y VS de alguna manera no puede usar el certificado del cliente y devolver este error. SI no puede obtener WSDL en su máquina, primero debe instalar el certificado del cliente en su máquina e intente de nuevo.

SI desea solucionar este problema con Visual Studio, puede usar su IE para obtener la página wsdl de metadatos del servicio WCF de HTTP y guardar WSDL en su máquina local. Después de eso VS2010 abierta y cuando se selecciona "Añadir ServiceReference", ruta de archivo de metadatos WSDL guardado en su ordenador, de esta forma una clase de proxy para su servicio WCF seguro será generado y todavía se puede utilizar.

+0

El enfoque que seguimos es que, hemos creado un archivo plano del WSDL y luego generamos clases de proxy utilizando svcutil.exe. Sin embargo, todavía encontramos este problema. "" No se pudo establecer una relación de confianza para el canal seguro SSL/TLS con autorización '127.0.0.1'. "" La idea detrás del uso de SSL es que el servidor tiene que autenticar al cliente y solo luego atender la solicitud. Compartimos el certificado del cliente y su contraseña antes de que consuman el servicio. El error ocurre cuando el cliente realiza la llamada al contrato de operación (método) ya que el servidor podría no haber autenticado al cliente – rajnish

0

Mi problema se resolvió mediante la adición de mi certificado en el navegador.

Abra Internet Explorer -> Opciones de Internet -> Ir al contenido -> Haga clic en Certificado -> importar el certificado en Publisher personal o de confianza

luego tratar de consumir el servicio WCF, se advertirán usted un mensaje, pero haga clic en Aceptar, esto resolverá el problema.

Si no se resuelve, importe el mismo certificado de servidor en virtud de los personales o de confianza

7

Otra posible solución es asegurarse de que Visual Studio sabe qué certificado de usar estableciéndola en administrador de credenciales.

Abra el administrador de credenciales y bajo Credenciales de base de certificados haga clic en Agregar una credencial basada en certificado.

Introduzca la URL de su referencia de servicio y seleccione el certificado del almacén.

+0

Golden!Esta es la respuesta si el servicio requiere un certificado de cliente y lo tiene en su máquina de desarrollo. –

Cuestiones relacionadas