none
Incidencias Proyecto Hola Mundo 4ta Estrella WCF RRS feed

  • Pregunta

  • Hola Compañeros:

     

    Abri el proyecto "HolaMundo" y me aparece un error en la siguiente linea de codigo.

     

    public string DecirHolaMundo()

    {

    return base.InnerProxy.DecirHolaMundo();

    }

     

    es en el InnerProxy

     

    Este es el error

    Error 3 'System.ServiceModel.ClientBase<HolaMundoService>' no contiene una definición para 'InnerProxy' D:\Tutoriales_Cursos\VS.NET\Material_Curso_Desarrollador_5_Estrellas\4ta_Estrella\WCF_HolaMundo\HolaMundo\HolaMundoClient\HolaMundoService.cs 57 21 HolaMundoClient

    Corresponde al archivo HolaMundoService.cs

     

    El video que aparece no se puede apreciar la linea de comando para el svcutil. Me parece que es esta.

     

    C:\Archivos de programa\Microsoft Visual Studio 8\VC>svcutil http://localhost:8080/HolaMundoService?wdsl

     

    me manda los siguientes errores, a pesar de que el otro programa o el servicio esta corriendo:

     

    "Microsoft (R) Service Model Metadata Tool
    [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.30]
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Attempting to download metadata from 'http://localhost:8080/HolaMundoService?wds
    l' using WS-Metadata Exchange or DISCO.
    Microsoft (R) Service Model Metadata Tool
    [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.30]
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Error: Cannot obtain Metadata from http://localhost:8080/HolaMundoService?wdsl

    If this is a Windows (R) Communication Foundation service to which you have acce
    ss, please check that you have enabled metadata publishing at the specified addr
    ess.  For help enabling metadata publishing, please refer to the MSDN documentat
    ion at http://go.microsoft.com/fwlink/?LinkId=65455.


    WS-Metadata Exchange Error
        URI: http://localhost:8080/HolaMundoService?wdsl

        Los metadatos contienen una referencia que no se puede resolver: 'http://loc
    alhost:8080/HolaMundoService?wdsl'.

        El tipo de contenido application/soap+xml; charset=utf-8 no era compatible c
    on el servicio http://localhost:8080/HolaMundoService?wdsl. Es posible que los e
    nlaces del cliente y el servicio no coincidan.

        Error en el servidor remoto: (415) Cannot process the message because the co
    ntent type 'application/soap+xml; charset=utf-8' was not the expected type 'text
    /xml; charset=utf-8'..


    HTTP GET Error
        URI: http://localhost:8080/HolaMundoService?wdsl

        El documento HTML no contiene información de descubrimiento del servicio Web
    .

    If you would like more help, type "svcutil /?"

     

     

    Ojala y alguien me pueda ayudar o si corrio su programa que descargo sin o hacer un cambio en el una parte del codigo.

     

    Saludos Cordiales

     

     

    jueves, 21 de junio de 2007 19:25

Todas las respuestas

  • Tienes instaladas las extensiones de WCF para Visual Studio 2005?

     

    Un saludete!

    jueves, 21 de junio de 2007 20:13
  • Hola instale

    Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP

     

    Saludos Cordiales :-)))

    viernes, 22 de junio de 2007 19:17
  • De todas formas no corre como debe el Hola Mundo.

     

    Alguien le funciona correctamente la aplicación y como le hizo.

     

    Saludos cordiales .-)))

    viernes, 22 de junio de 2007 20:57
  • cambia por Channel....

     

    jueves, 26 de julio de 2007 9:51
  • Hola chema_cc:

     

    cambia por Channel.... ???? :-|

     

    podrías ser mas explicito, no te entendi !!!!!

     

     

     

     

    viernes, 27 de julio de 2007 13:03
  • Cambia:

    return base.InnerProxy.DecirHolaMundo();

    por

    return base.Channel.DecirHolaMundo();

     

    • Propuesto como respuesta OsoPolar2 miércoles, 29 de julio de 2009 10:31
    martes, 31 de julio de 2007 12:44
  • Para lograr que "svcutil http://localhost:8080/HolaMundoService?wdsl" funcione cambié el codigo fuente de la sgte manera:

     

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.ServiceModel;

    using System.ServiceModel.Description;

    namespace HolaMundoService

    {

    class Program

    {

    static void Main(string[] args)

    {

    Uri uri = new Uri("http://localhost:8080/HolaMundoService");

    ServiceHost serviceHost = new ServiceHost(typeof(HolaMundoService), uri);

    ServiceMetadataBehavior smb = serviceHost.Description.Behaviors.Find<ServiceMetadataBehavior();

    if (smb != null)

    {

    smb.HttpGetEnabled = true;

    smb.HttpGetUrl = uri;

    }

    else

    {

    smb = new ServiceMetadataBehavior();

    smb.HttpGetEnabled = true;

    smb.HttpGetUrl = uri;

    serviceHost.Description.Behaviors.Add(smb);

    }

    //Ingreso

    serviceHost.AddServiceEndpoint(typeof(HolaMundoService), new BasicHttpBinding(), uri);

    //Abro el servicio

    serviceHost.Open();

    Console.Write("El servicio esta corriendo.");

    Console.ReadKey();

    serviceHost.Close();

    }

    }

    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     

    Cambiar  "return base.InnerProxy.DecirHolaMundo();"    por   "return base.Channel.DecirHolaMundo();" ya no es necesario, porque esa parte del codigo es generada automaticamente con el svcutil.

    No se si es perfecto pero me funcionó de esta manera.

    Saludos.

     

     

    domingo, 2 de diciembre de 2007 12:50