2011-08-31 20 views
7

He creado un servicio web WCF y localmente cuando accedo al archivo wsdl como (http://localhost/myservice/service.svc?wsdl muestra el archivo wsdl muy bien. Luego lo cargué en mi servidor virtual alojado por GoDaddy y cuando llame al http://my dirección IP: myport/service.svc? wsdl el resultado es la página donde dice "Ha creado un servicio." Esta es la misma página que se muestra cuando llamo a la misma url pero sin la dirección IP de? wsdl (http://my : myport/service.svc). ¿Cómo puedo obtener mi archivo wsdl en el servidor virtual? ¿Por qué sucedió esto de manera diferente a mi máquina local?Dónde está el archivo wsdl en el servicio WCF

+0

¿Tiene el mismo archivo de configuración en el servidor que tenía en su máquina de desarrollo? –

Respuesta

12

Asegúrese de que su archivo de configuración en el entorno de alojamiento web permita recuperar el documento WSDL. Debe contener esto:

<behaviors> 
    <serviceBehaviors> 
    <behavior name="metadata"> 
     <serviceMetadata httpGetEnabled="true" /> 
    <behavior> 
    </serviceBehaviors> 
</behaviors> 

Y haga referencia a este comportamiento en la configuración de su servicio.

Editar:

Sólo para que quede claro. Con el comportamiento predeterminado de WCF, el archivo WSDL no está en ninguna parte. Se genera automáticamente y esta generación automática debe permitirse.

+1

Bien, esto se genera automáticamente, pero se debe guardar en algún lugar, al menos temporalmente ... –

+0

Aunque debería ser obvio, el elemento de comportamiento debe cerrarse. No puedo editar la publicación porque contiene muy pocos cambios. – Dono

Cuestiones relacionadas