//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.1318
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// TODO: Should link to auto generated code - or the file generated from the SOA test client

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IEchoSvc")]
public interface IEchoSvc
{

    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IEchoSvc/Echo", ReplyAction = "http://tempuri.org/IEchoSvc/EchoResponse")]
    string Echo(string input);

    [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IEchoSvc/Echo", ReplyAction = "http://tempuri.org/IEchoSvc/EchoResponse")]
    System.IAsyncResult BeginEcho(string input, System.AsyncCallback callback, object asyncState);

    string EndEcho(System.IAsyncResult result);
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public interface IEchoSvcChannel : IEchoSvc, System.ServiceModel.IClientChannel
{
}

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class EchoSvcClient : System.ServiceModel.ClientBase<IEchoSvc>, IEchoSvc
{

    public EchoSvcClient()
    {
    }

    public EchoSvcClient(string endpointConfigurationName)
        :
        base(endpointConfigurationName)
    {
    }

    public EchoSvcClient(string endpointConfigurationName, string remoteAddress)
        :
        base(endpointConfigurationName, remoteAddress)
    {
    }

    public EchoSvcClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress)
        :
        base(endpointConfigurationName, remoteAddress)
    {
    }

    public EchoSvcClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress)
        :
        base(binding, remoteAddress)
    {
    }

    public string Echo(string input)
    {
        return base.Channel.Echo(input);
    }

    public System.IAsyncResult BeginEcho(string input, System.AsyncCallback callback, object asyncState)
    {
        return base.Channel.BeginEcho(input, callback, asyncState);
    }

    public string EndEcho(System.IAsyncResult result)
    {
        return base.Channel.EndEcho(result);
    }
}
