2011-06-07 11 views
6

उत्पन्न किया है, मैं एक परियोजना पर काम कर रहा हूं जो अनुबंध का पहला दृष्टिकोण उपयोग करता है। मुझे WSDL और तीन xsd's दिया गया था। जब मैं svcutil का उपयोग यह इतना की तरह प्रतिक्रिया वर्ग के चारों ओर एक आवरण उत्पन्न करता है:svcutil ने अनैच्छिक रैपर वर्ग

public partial class getDataByIdResponse1 { 

    public getDataByIdResponse getDataByIdResponse; 

    public getDataByIdResponse1() { 
    } 

    public getDataByIdResponse1(getDataByIdResponse getDataByIdResponse) { 
     this.getDataByIdResponse = getDataByIdResponse; 
    } 
} 

getDataByIdResponse एक getDataByIdResponse1 ऑब्जेक्ट के अंदर लपेटा जाता है। यह svcutil द्वारा किया जाता है और मुझे नहीं पता कि क्यों। getDataByIdResponse1 वस्तु WSDL में मौजूद नहीं है:

<wsdl:message name="getDataById"> 
    <wsdl:part name="response" element="tns:getDataByIdResponse"/> 
</wsdl:message> 

<xs:element name="getDataByIdResponse"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element name="data" type="sbc:DataType" minOccurs="1" maxOccurs="1" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 

क्यों प्रकार getDataByIdResponsegetDataByIdResponse1 में लपेटा जाता है? क्या svcutil के लिए कोई स्विच है जिसका उपयोग किया जाना चाहिए था?

उत्तर

0

मैं एक ही स्थिति में हूँ (अनुबंध-प्रथम) और svcutil मेरे लिए कोड के इस एक ही तरह पैदा कर रहा है, लेकिन मैं तो बस बंद कर दिया मेरी आँखों एक गहरी साँस ली और :-)

इसे स्वीकार कर लिया बस प्रकार का उपयोग करें संख्यात्मक पोस्टफिक्स के बिना और यह बस काम करता है।

+0

"संख्यात्मक पोस्टफिक्स के बिना बस प्रकारों का उपयोग करें और यह केवल काम करता है।", मुझे नहीं लगता कि सी # कोड इस तरह संकलित होगा। संख्यात्मक पोस्टफिक्स के बिना प्रकार कंपाइलरों के लिए बिल्कुल अलग नाम हैं। –

0

मैं आपके जैसा ही नाव में हूं लेकिन मैं बस इसके साथ नहीं रहना चाहता हूं। मैं स्वच्छ (अनचाहे) अनुबंध उत्पन्न करना चाहता हूं। यदि wsdl और xsd आपको दिया गया था तो कुछ नियम हैं कि svc उपयोग के लिए अनचाहे कोड उत्पन्न करने के लिए आपकी स्कीमा और wsdl को पालन करने की आवश्यकता है। ये लिंक मुझे इस मुद्दे को थोड़ा बेहतर

http://pzf.fremantle.org/2007/05/handlign.html

http://mharbauer.wordpress.com/2007/10/19/wcf-datacontract-serializer-and-documentwrapped/

को समझने के लिए अब मेरी स्कीमा और wsdl काफी छोटा है कि मैं उन्हें इस के नियमों का पालन ठीक कर सकते हैं मदद की।
हालांकि, रॉन की तरह, मैं उन परिस्थितियों में भी रहा हूं जहां सबसे आसान चीज़ बस इसके साथ रहना है।

उम्मीद है कि इससे मदद मिलती है।