Tuesday, April 3, 2012

Le serveur n'a pas fourni de réponse pertinente ; ceci peut être causé par des contrats qui ne correspondent pas, un arrêt prématuré de la session ou une erreur interne du serveur

Je voudrais consommer un web service dotnet (asmx) avec un client dotnet, j'ai le message d'erreur suivant :

Le serveur n'a pas fourni de réponse pertinente ; ceci peut être causé par des contrats qui ne correspondent pas, un arrêt prématuré de la session ou une erreur interne du serveur

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

Server stack trace:
   à System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   à System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   à System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   à System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   à TestAPIService.A2ia_api.IcrServiceSoapBinding.ReadC(ReadAsk request)
   à TestAPIService.A2ia_api.IcrServiceSoapBindingClient.TestAPIService.A2ia_api.IcrServiceSoapBinding.ReadC(ReadAsk request) dans C:\Users\xxxxxxx\Documents\Visual Studio 2008\Projects\TestAPIService\TestAPIService\Service References\A2ia_api\Reference.cs:ligne 818
   à TestAPIService.A2ia_api.IcrServiceSoapBindingClient.ReadC(readAskvalue arg0) dans C:\Users\xxxxxxx\Documents\Visual Studio 2008\Projects\TestAPIService\TestAPIService\Service References\A2ia_api\Reference.cs:ligne 824
   à TestAPIService.Program.Main(String[] args) dans C:\Users\xxxxxxx\Documents\Visual Studio 2008\Projects\TestAPIService\TestAPIService\Program.cs:ligne 63

1 comment:

  1. Le problème était du à MTOM (Message Transmission Optimization Mechanism),activé dans la configuration de mon service web classique(fichier asmx) alors que ce dernier ne supporte pas cette méthode d'envoi. MTOM est supporté par WSE 3.0 (Visual Studio 2005) et WCF. Etant donnée que mon IDE est VS2008, la solution est pour moi de migrer mon service web vers WCF étant la norme chez microsoft en matière de services.
    NB: MTOM est un mécanisme automatique qui va optimiser les messages SOAP qui contiennent des données binaires.

    http://webman.developpez.com/articles/dotnet/mtom/#L3

    ReplyDelete