Usuario
Error al publicar servicio WCF

Pregunta
-
He creado un WS WCF, lo publico en una carpeta de inetpub pero al poner la direccion en el navegador me devuelve:
Error HTTP 404.17 - Not Found
El contenido solicitado parece ser un script y el controlador de archivos estáticos no lo servirá.
- Cambiado Karen Malagón miércoles, 14 de octubre de 2015 18:36 WCF issue
Todas las respuestas
-
Aporto algo mas de info a ver si me podeis orientar de que hago mal, el codigo del servicio es:
Namespace service1 Public Class Service1 Implements IService1 Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function Public Function GetDataUsingDataContract(ByVal composite As CompositeType) As CompositeType Implements IService1.GetDataUsingDataContract If composite Is Nothing Then Throw New ArgumentNullException("composite") End If If composite.BoolValue Then composite.StringValue &= "Suffix" End If Return composite End Function End Class <ServiceContract()> _ Public Class MisRut <OperationContract()> _ Public Function DameEmpresas() As DataSet1 Dim ds As New DataSet1 Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.Fill(ds.Empresas) Return ds End Function <OperationContract()> _ Public Function DameEmpresas1000() As DataSet1 Dim ds As New DataSet1 Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.FillBy(ds.Empresas) Return ds End Function 'Para Guardar los registros modificados <OperationContract()> _ Public Function GuardarEmpresas(ByVal Empresas As DataSet1) As DataSet1 If Not (Empresas Is Nothing) Then Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.Update(Empresas) Return Empresas Else Return Nothing End If End Function End Class End Namespace
Al generar no da ningun error, pero al ejecutar me dice esto:
-
lo publico en una carpeta de inetpub
pero en el IIS configuras un sitio, con la definicion de un puerto y la seelccion de la version de framework?
o se con tirrar la publicacion en una carpeta no es suficiente, debes definir un sitio para esto
tiene la vwersion del framework en su version correcta instalado?
defines en el web.confign los endpoint del servicio ?
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
En el IIS le configure la version de FW y le di a convertir en app como hago para los sitios aspx.
Lo de definir los endpoint no se como va, no se si esta relacionado pero al ejecutar me dice que no tiene acceso a los metadatos. He cambiado algo el codigo.
Imports System Imports System.Collections.Generic Imports System.Runtime.Serialization Imports System.ServiceModel Imports System.Text Imports System.Data.SqlClient ' NOTA: puede usar el comando "Cambiar nombre" del menú contextual para cambiar el nombre de clase "Service1" en el código, en svc y en el archivo de configuración. <ServiceContract()> _ Public Class Service1 Implements IService1 Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function Public Function GetDataUsingDataContract(ByVal composite As CompositeType) As CompositeType Implements IService1.GetDataUsingDataContract If composite Is Nothing Then Throw New ArgumentNullException("composite") End If If composite.BoolValue Then composite.StringValue &= "Suffix" End If Return composite End Function '<ServiceContract()> _ 'Public Class MisRut <OperationContract()> _ Public Function DameEmpresas() As DataSet1 Dim ds As New DataSet1 Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.Fill(ds.Empresas) Return ds End Function <OperationContract()> _ Public Function DameEmpresas1000() As DataSet1 Dim ds As New DataSet1 Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.FillBy(ds.Empresas) Return ds End Function 'Para Guardar los registros modificados <OperationContract()> _ Public Function GuardarEmpresas(ByVal Empresas As DataSet1) As DataSet1 If Not (Empresas Is Nothing) Then Dim ta As New DataSet1TableAdapters.EmpresasTableAdapter ta.Update(Empresas) Return Empresas Else Return Nothing End If End Function End Class
- Editado Cid105 domingo, 18 de diciembre de 2011 18:07
-
-
El problema creo mas bien que venga por lo de los metadatos. Cree un servicio nuevo, lo ejecuto y bien pero si a la cabecera de la clase añado el metadato de servicecontract ya me dice lo de la captura de mas arriba de que no tiene acceso a los metadatos
<ServiceContract()> _ Public Class Service1 Implements IService1 Public Sub New() End Sub Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function Public Function GetDataUsingDataContract(ByVal composite As CompositeType) As CompositeType Implements IService1.GetDataUsingDataContract If composite Is Nothing Then Throw New ArgumentNullException("composite") End If If composite.BoolValue Then composite.StringValue &= "Suffix" End If Return composite End Function End Class
-
-
Buenas noches CID105,
Creo que puedo ayudarte,
En la configuración del directorio virtual del IIS hay un apartado en el que le debes especificar las extensiones permitidas, o los tipos de ficheros que el servidor será capaz de "interpretar". (para entendernos rapido...)
Es en ese sitio donde tienes que agregar la extensión "svc" que define a los servicios wcf.Siento no ser mas específico, pero no me encuentro delante de mi ordenador de trabajo.
Un saludo y espero haberte podido ayudar. :)
- Editado WillyFog jueves, 27 de septiembre de 2012 18:24
- Propuesto como respuesta C Roberto Arcos C jueves, 1 de octubre de 2015 17:09
- Votado como útil C Roberto Arcos C jueves, 1 de octubre de 2015 17:09