2011-05-24 18 views
7

मुझे डब्ल्यूसीएफ सेवा से कस्टम गलती अपवाद लौटने में कुछ परेशानी हो रही है। डब्ल्यूसीएफ सेवा से बात करने वाले ग्राहक आवेदन - अनुबंध मेल नहीं खाते त्रुटि।रिटर्न डब्ल्यूसीएफ कस्टम फॉल्ट अपवाद

public partial class Fault 
{ 
    string codeField; 
    string messageField; 
    string detailsField; 
} 

त्रुटि सेवा में मैं निम्नलिखित के रूप में कस्टम दोष अपवाद बनाने रहा हूँ पर::

public void ProvideFault(Exception exception, MessageVersion version, ref Message  refMessage) 
{ 
     mynamespace.Fault customFault = new mynamespace.Fault() 
     { 
      code = "Service Error", 
      message = "Error Message", 
      details = "Error Message" 
     }; 

     FaultException<mynamespace.Fault> faultexception = new FaultException<mynamespace.Fault>(customFault); 

     MessageFault messageFault = faultexception.CreateMessageFault(); 

     refMessage = Message.CreateMessage(version, messageFault, faultNamespace); 
} 

इस कोड को ग्राहक में अनुबंध बेमेल त्रुटि होती है यहाँ मेरी गलती अनुबंध सेवा में परिभाषित किया गया है। क्या कोई मुझे गलत खोजने में मदद कर सकता है?

+0

समस्या हो सकता है कहीं और हो, तो आप एक को तोड़ने बिंदु ProvideFault में डाल दिया और देख सकते हैं –

उत्तर

3

निर्दिष्ट करें कि आप (उदाहरण के लिए, एक UserMismatchFault वर्ग बनाने) वापस जाने के लिए की जरूरत है गलती किस प्रकार, तो तरह फेंक:

throw new FaultException<UserMismatchFault>(myFault); 
2

faultNamespace क्या है? CreateMessage का तीसरा पैरामीटर कार्रवाई होना चाहिए (faultException.Action)। यह भी न भूलें कि आपके Fault वर्ग वैध DataContract होना चाहिए - डिफ़ॉल्ट क्रमिकता सदस्यों के मामले में public होना चाहिए।

संबंधित मुद्दे