Could not find default endpoint element that references contract :connect to WCF endpoint through Powershell cmdlet

12,835

have got this to work: here is a clean solution:

internal static class ServiceClass
{

    internal static Object GetWCFSvc(string siteUrl)
    {

        Uri serviceUri = new Uri(siteUrl);
        EndpointAddress endpointAddress = new EndpointAddress(serviceUri);

        //Create the binding here
        Binding binding = BindingFactory.CreateInstance();

        ServiceClient client = new ServiceClient(binding, endpointAddress);            
        return client;
    }


}

internal static class BindingFactory
{
    internal static Binding CreateInstance()
    {
        BasicHttpBinding binding = new BasicHttpBinding();
        binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
        binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
        binding.UseDefaultWebProxy = true;
        return binding;
    }

}
Share:
12,835
Saher Ahwal
Author by

Saher Ahwal

Software Engineer at Microsoft LinkedIn Profile MEng Thesis: Optimizations to a massively parallel database and support of a shared scan architecture

Updated on June 08, 2022

Comments

  • Saher Ahwal
    Saher Ahwal almost 2 years

    I have created a class library that should connect to a WCF endpoint project I am hosting. The client project has commandlets defined that should interact with the service.

    However, I keep getting the following error:

         Could not find default endpoint element that references contract Service1.MyService in the
     ServiceModel client configuration section. This might be because no configuration file was found
     for your application, or because no endpoint element matching this contract could be found in the
     client element.
    

    Do you know what the problem might be?

    EDIT What I have is a single Class Library defining cmdlets. I use an .psd1 file to Import-Module which uses the dll files produced.

    EDIT2 Once again, I don't have a project referencing my library. It is the powershell that calls the commandlets defined and these cmdlets should connect to the WCF endpoint

    Thanks

  • Saher Ahwal
    Saher Ahwal almost 12 years
    what is a startup project. All I have is one project that defines cmdlets and is a class library. I use a psd1 file to import-module for cmdlets
  • Silvermind
    Silvermind almost 12 years
    He means that the project using the library should have a config file containing the endpoint. NOT the library itself.
  • Saher Ahwal
    Saher Ahwal almost 12 years
    I understand but the powershell is what is calling into my library not another project
  • Saher Ahwal
    Saher Ahwal almost 12 years
    I will look into that. Is that the only way this can be done besides changing the powershell exe config?
  • Danny Petrunov
    Danny Petrunov almost 12 years
    As far as I know there's no way to load configuration sections from anywhere other than the application configuration file, and in your case the application is powershell.
  • Jeppen
    Jeppen over 9 years
    Thanks, really helped me a lot