Bonjour,

J'ai un problème a me tirer les cheveux. Je développe sur un projet n-tiers, VB.NET bien entendu.

J'ai développé une nouvelle procédure dans ma BL, j'ai toutes les références dans ma BP et mon WCF, comme toutes les autres fonctions du programme. Seulement quand je l'appel dans le code, entre la BP et le WCF j'ai la fameuse exception :

The message with Action 'http://tempuri.org/IService/LoggerHelper_ForcedOperation' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
Un bout de code :

BP:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
  Try
         proxy.Service.LoggerHelper_ForcedOperation()
  Catch ex As Exception
	proxy.HandleException(ex)
  End Try
 
Public Sub LoggerHelper_ForcedOperation() Implements Service.IService.LoggerHelper_ForcedOperation
            MyBase.Channel.LoggerHelper_ForcedOperation()
End Sub
 
'fichier Reference
<System.ServiceModel.OperationContractAttribute(Action:="http://tempuri.org/IService/LoggerHelper_ForcedOperation", ReplyAction:="http://tempuri.org/IService/LoggerHelper_ForcedOperationResponse")> _
        Sub LoggerHelper_ForcedOperation()
WCF:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'fichier service.svc
Public Sub LoggerHelper_ForcedOperation() Implements Iservice.LoggerHelper_ForcedOperation
 
       Try
		    BLFactory.LoggerHelper(metaData).ForcedOperation()
 
       Catch ex As Exception
	           LogException(Ex)
       End Try
   End Using
End Sub
 
'Fichier Iservice
 <OperationContract()>
    Sub LoggerHelper_ForcedOperation()
Si quelqu'un a une idée...