को कैसे दूर किया जाए हमने देखा है कि जब हम एक डब्ल्यूसीएफ सेवा का पर्दाफाश करते हैं जो विभिन्न एक्सएमएल सीरियलाइजेशन विशेषताओं से सजाए गए वर्गों का उपयोग करता है, इस तथ्य के बावजूद कि हम इंटरफ़ेस पर XmlSerializerFormat विशेषता का उपयोग करते हैं किसी भी ऑपरेशन के पैरामीटर पर किसी भी XmlRoot विशेषता पूरी तरह से अनदेखा हो जाती है। पैरामीटर का नामस्थान हमेशा सेवा का होता है और जो हम निर्दिष्ट नहीं करते हैं।डब्लूसीएफ में XmlRoot विशेषता को अनदेखा क्यों किया जाता है और इस
यह हमें समस्याएं पैदा कर रहा है क्योंकि यह एएसएमएक्स के साथ पिछड़ा संगत नहीं लगता है और यह भी कि हम बिज़टॉक का उपयोग कर रहे हैं, और एक्सएमएल के आदान-प्रदान के आकार पर कड़े नियंत्रण की आवश्यकता है।
कुछ सवाल तो -
- किसी को जानता है क्या औचित्य इस निर्णय के पीछे है?
- कोई भी जानता है कि यह कैसे हो रहा है? मैं छापों कि WCF, XmlSerializerFormat विशेषता के साथ, XmlSerialiser का उपयोग करता प्रकार serialise करने के लिए है, जो XmlRoot सुझाव है कि ध्यान में रखा जाना चाहिए, के तहत किया गया है कि कैसे आ यह स्थिति नहीं है? (यह, केवल तथ्य यह है कि के कारण है सोप लिफाफा ध्यान में रखते हुए, पैरामीटर जड़ है नहीं?)
- अधिकांश महत्वपूर्ण बात - किसी को भी जानता है वहाँ एक रास्ता 'मुद्दा मजबूर' के लिए है - यानी हमारे चयन के नामस्थान के पैरामीटर प्राप्त करें?
मैं this पोस्ट देखा है, लेकिन मैं नहीं मानता कि यह मेरे सवाल के लिए प्रासंगिक है -
वैगनर Silveira के अनुरोध के अनुसार -
[ServiceContract(Namespace = "http://servicecontract"),
XmlSerializerFormat(Style = OperationFormatStyle.Document)]
public interface ITestService
{
[OperationContract]
MyOtherType MyTestMethod(MyType obj);
}
// Composite class for DCS and XMLS
[Serializable, XmlType, XmlRoot(Namespace = "http://datacontract")]
public class MyType
{
[XmlAttribute]
public string StringValue { get; set; }
}
// Composite class for DCS and XMLS
[Serializable, XmlType, XmlRoot(Namespace = "http://datacontract")]
public class MyOtherType
{
[XmlAttribute]
public string OtherStringValue { get; set; }
}
- ठेके मैं इस्तेमाल किया यह परीक्षण करने के लिए कर रहे हैं
धन्यवाद जॉन हमने संदेशकंट्रैक्ट विकल्प का पता लगाया है, यह सिर्फ कुछ ऐसा लगता है जो एएसएमएक्स में काम करता है, यही कारण है कि मैं रूट नोड तर्क के बारे में निश्चित नहीं था, लेकिन मुझे लगता है कि यह समझ में आता है। व्यक्तिगत रूप से मुझे लगता है कि पिछड़ा संगतता के लिए काफी झटका है। –