none
Error al publicar servicio WCF RRS feed

  • 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
    domingo, 18 de diciembre de 2011 16:17

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:

    domingo, 18 de diciembre de 2011 16:33
  • 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
    domingo, 18 de diciembre de 2011 17:41
  • 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
    domingo, 18 de diciembre de 2011 18:05
  • hola

    intenta eejcutando el comando

    aspnet_regiis -i

    con esto si hay algun problema de integracion entre el iis y el framework de .nt lo solucionara

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 18 de diciembre de 2011 18:31
  • 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

    domingo, 18 de diciembre de 2011 18:37
  • En mi caso el problema fue porque el Application Pool asignado al site no estaba configurado a usar el .NET Framework v4.0.30319

    Espero te sirva.


    Jim Vázquez Castán

    martes, 25 de septiembre de 2012 22:11
  • 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.   :)


    jueves, 27 de septiembre de 2012 18:22