user156888
user156888

Reputation:

error resolving WCF service using WCF facility

I keep getting the following error:

Method not found: 'Void Castle.MicroKernel.ComponentActivator.ComponentActivatorException..ctor

this is from the following initialization code in global.asax:

    private void ConfigureContainer()
    {
        _container = new WindsorContainer();

        _container.Register(Component.For<IWindsorContainer>().Instance(_container))
            .AddFacility<WcfFacility>()
            .Register(Component.For<ISonatribeCommandService>()
                          .AsWcfClient(DefaultClientModel
                          .On(WcfEndpoint.FromConfiguration("commandServiceClient")))
                          .LifestyleTransient())
            .Install(FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "Sonatribe*.dll")));

    }

my system.servicemodel section in web.config looks like:

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <client>
      <endpoint address="http://****.com/SonatribeCommandService.svc" binding="basicHttpBinding" contract="CommandService.ISonatribeCommandService" name="commandServiceClient"></endpoint>
    </client>
  </system.serviceModel>

The service works fine when using the add web reference method.

UPDATE:

I also tried doing the config method too:

<configuration>
  <components>
    <component 
      id="commandService" 
      type="CommandService.SonatribeCommandService, CommandService"
      wcfEndpointConfiguration="commandServiceClient" />
  </components>
</configuration>

Any ideas?

Upvotes: 1

Views: 589

Answers (1)

Krzysztof Kozmic
Krzysztof Kozmic

Reputation: 27384

It looks like you're using incompatible versions of Windsor and the facility. Make sure you're using version of WCF Facility that was meant to be used with the version of Windsor you have.

Upvotes: 2

Related Questions