J'ai un service WCF qui fonctionne quand on y accède par une simple application MVC.erreur d'incompatibilité de contrat WCF en utilisant Autofac pour enregistrer via endpoint ChannelFactory
Lorsque je tente de faire appel sur le même point final à partir d'une autre application MVC qui est câblé avec Autofac je reçois une exception non-concordance de contrat liant/ comme ceci:
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:6985/ProductService.svc . The client and service bindings may be mismatched.
System.Net.WebException: The remote server returned an error: (415) Unsupported Media Type.
Je suis raisonnablement confiant que je n'ai pas une incompatibilité dans les paramètres de configuration à chaque extrémité, je base cette confiance sur le test des mêmes paramètres sur une combinaison WCF + MVC où Autofac n'est pas présent. Les paramètres de configuration sont sur pastebin.com/t7wfR77h.
Je voudrais donc une analyse de l'aide si la façon dont je l'ai enregistré la dépendance/point final avec Autofac est la question ...
* Code Application_Start * dans l'application MVC pour la configuration Autofac:
var builder = new ContainerBuilder();
//other registrations...
builder.Register(c =>
new ChannelFactory<IProductService>(
new WSHttpBinding("ProductService_wsHttpBinding"),
new EndpointAddress("http://localhost:6985/ProductService.svc")
)
).SingleInstance();
builder.Register(c =>
{
var factory = c.Resolve<ChannelFactory<IProductService>>();
return factory.CreateChannel();
}
).InstancePerHttpRequest();
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
(pour être complet) où je fais usage de c'est dans un ProductController qui a seulement 1 dépendance à injecter, très simple:
public class ProductController : AsyncController
{
private IProductService _service;
public ProductController(IProductService ps)
{
_service = ps;
}
//...
//later simply call
_service.SomeMethod();
}
On dirait un problème de configuration de WCF pour moi, pas grand-chose à suggérer que - quelques indices sur le web ... http://blogs.msdn.com/b/endpoint/archive/2010/11/01/wcf- webhttp-service-retours-http-415-unsupported-media-type.aspx Bonne chance! –
@Nicholas, merci d'avoir regardé cela, espérait que ce n'était pas un problème de WCF donc il serait facilement résoluble. –
@neontapir peut-être que vous devriez poster votre code comme réponse, comme j'ai abandonné à ce sujet et ne l'a pas fonctionné;) –