2008-12-15 20 views
7

Tengo un servicio WCF alojado en un servicio de Windows y utiliza el punto final BasicHttp para dar servicio a los dispositivos Windows Mobile que se han conectado a él.WCF La solicitud falló con el estado HTTP 405: Método no permitido

El problema es que con el emulador de dispositivo. Puedo conectarme al servicio y usarlo sin ningún problema, pero con un dispositivo real. Recibo el error:

WCF The request failed with HTTP status 405: Method Not Allowed.

He utilizado el siguiente código para implementar el servicio.

BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); 
basicHttpBinding.UseDefaultWebProxy = false; 

m_ServiceHost.AddServiceEndpoint(typeof(IKooft), basicHttpBinding, "KooftService"); 
m_ServiceHost.Open(); 

¿Cómo puedo resolver este problema?

Respuesta

4

Comprueba las extensiones de IIS, en particular los de .wsdl son válidos:

En IIS:

  • mirada a las propiedades de su sitio.
  • En la pestaña Directorio de inicio, haga clic en configuración.
  • haga clic en Agregar (mi camino es "C: \ Archivos de programa (x86) \ Common Files \ MSSOAP \ BINARIOS \ SOAPIS30.DLL")
  • Establecer la extensión a .wsdl y permitir "GET" y " post"
  • Seleccione 'Guión motor' y 'Verificar si el archivo existe'

Esa debe ser la misma.

+1

Como mencioné, está alojado en una aplicación de servicio de Windows, no en IIS. – mrtaikandi

+1

SOAPIS30.DLL falta en mi cuadro de desarrollo y estoy experimentando un problema similar. ¿Tiene alguna idea de dónde puedo obtener esa DLL? ¿De qué SDK forma parte? – Danielb

+2

Para responder a mi propia pregunta, esa DLL proviene del Microsoft SOAP Toolkit en desuso. – Danielb

0

Al usar WCF, es posible que también necesite asignar el tipo de archivo .svc a aspnet_isapi.dll en IIS.

1

Si está utilizando un servicio WCF REST, debe definir el método de contrato así:

[OperationContract] 
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] 
string CheckService(); 

Particularmente en cuenta que WebInvoke atributo y Method="POST".

Cuestiones relacionadas