2009-05-25 6 views
8

का उपयोग कर वेब सेवा प्रॉक्सी उत्पन्न करने में समस्या हमारे आवेदन में हमें कई वेब सर्विसेज का उपभोग करने के लिए मजबूर होना पड़ता है। शुरुआत में हमने डब्ल्यूसीएफ प्रॉक्सी बनाने के लिए केवल "सेवा संदर्भ जोड़ें" मेनू विकल्प का उपयोग किया था।svcutil

विज़ार्ड ने डेटाकंट्रैक्ट नहीं बनाया, बल्कि एक एक्सएमएल-सीरियलज़ेबल क्लास। अब तक, इतना बुरा, लेकिन यह हत्यारा नहीं था। हालांकि, बाद में हमने देखा, कि हम डेटा खो रहे थे, क्योंकि जेनरेट की गई प्रॉक्सी ऑर्डर प्रॉपर्टी जोड़ रही थी जब यह जिम्मेदार थी और इससे समस्याएं पैदा हो रही थीं।

अब हम डबल्यूएसडीएल SvcUtil.exe का उपयोग करने से प्रॉक्सी वर्गों उत्पन्न करने के लिए कोशिश कर रहे हैं, लेकिन हम सभी समय निम्न त्रुटि संदेश हो रही हैं:

C:\temp\WSDL>svcutil /serializer:DataContractSerializer ReadSddsAddressOut.wsdl 
Microsoft (R) Service Model Metadata Tool 
[Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.2152] 
Copyright (c) Microsoft Corporation. All rights reserved. 

Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchKanton']/wsdl:input 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchKanton']/wsdl:output 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchPlz']/wsdl:input 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchPlz']/wsdl:output 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchNation']/wsdl:input 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchNation']/wsdl:output 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchAdr']/wsdl:input 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchAdr']/wsdl:output 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchPkt']/wsdl:input 


Warning: Das optionale WSDL-Erweiterungselement "body" aus Namespace "http://schemas.xmlsoap.org/wsdl/soap/" wurde nicht behandelt. 
XPath: //wsdl:definitions[@targetNamespace='http://post.ch/sdds/address']/wsdl:binding[@name='ReadSddsAddressOutBinding']/wsdl:operation[@name='GeoSuchPkt']/wsdl:output 


Generating files... 
C:\temp\WSDL\ReadSddsAddressOut.cs 
C:\temp\WSDL\output.config 

अंग्रेजी में त्रुटि संदेश इस

तरह लग रहा है

"नामस्थान से वैकल्पिक डब्लूएसडीएल एक्सटेंशन तत्व 'बॉडी' http://schemas.xmlsoap.org/wsdl/soap/ 'को संभाला नहीं गया था।"

मूल डबल्यूएसडीएल इस तरह दिखता है:

<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions name="ReadSddsAddressOut" targetNamespace="http://post.ch/sdds/address" xmlns:p2="http://post.ch/sdds" xmlns:p1="http://post.ch/sdds/address" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
    <wsdl:documentation/> 
    <wsdl:types> 
     <xsd:schema targetNamespace="http://post.ch/sdds" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://post.ch/sdds"> 
      <xsd:element name="ZuboGeoKantonReq"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="maxRows" type="xsd:integer" minOccurs="0"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoPktReq"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="GEOPKTID" type="xsd:integer" minOccurs="0"/> 
         <xsd:element name="GEOADRID" type="xsd:integer" minOccurs="0"/> 
         <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZPLZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZPLZ4" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZORT39" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOSTRBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOADRSTRNRT" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOADRCMT" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPKTKORX" type="xsd:decimal" minOccurs="0"/> 
         <xsd:element name="GEOPKTKORY" type="xsd:decimal" minOccurs="0"/> 
         <xsd:element name="GEOPKTKORZ" type="xsd:decimal" minOccurs="0"/> 
         <xsd:element name="GEOPKTTYP" type="xsd:integer" minOccurs="0"/> 
         <xsd:element name="GEOPKTMAIN" type="xsd:boolean" minOccurs="0"/> 
         <xsd:element name="withDeletedPkt" type="xsd:boolean" minOccurs="0"/> 
         <xsd:element name="maxRows" type="xsd:integer" minOccurs="0"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoNationResp"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="ErrorCode" type="xsd:integer"/> 
         <xsd:element name="ErrorText" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="DataSet"> 
          <xsd:complexType> 
           <xsd:sequence maxOccurs="unbounded"> 
            <xsd:element name="row" minOccurs="0"> 
             <xsd:complexType> 
              <xsd:sequence> 
               <xsd:element name="GEONATID" type="xsd:string"/> 
               <xsd:element name="GEONATBEZ" type="xsd:string"/> 
              </xsd:sequence> 
             </xsd:complexType> 
            </xsd:element> 
           </xsd:sequence> 
          </xsd:complexType> 
         </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoKantonResp"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="ErrorCode" type="xsd:integer"/> 
         <xsd:element name="ErrorText" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="DataSet"> 
          <xsd:complexType> 
           <xsd:sequence maxOccurs="unbounded"> 
            <xsd:element name="row" minOccurs="0"> 
             <xsd:complexType> 
              <xsd:sequence> 
               <xsd:element name="GEOKTNID" type="xsd:string"/> 
               <xsd:element name="GEOKTNBEZ" type="xsd:string"/> 
               <xsd:element name="GEONATID" type="xsd:string"/> 
               <xsd:element name="GEONATBEZ" type="xsd:string"/> 
              </xsd:sequence> 
             </xsd:complexType> 
            </xsd:element> 
           </xsd:sequence> 
          </xsd:complexType> 
         </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoPlzResp"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="ErrorCode" type="xsd:integer"/> 
         <xsd:element name="ErrorText" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="DataSet"> 
          <xsd:complexType> 
           <xsd:sequence maxOccurs="unbounded"> 
            <xsd:element name="row" minOccurs="0"> 
             <xsd:complexType> 
              <xsd:sequence> 
               <xsd:element name="GEOPLZPLZ" type="xsd:string"/> 
               <xsd:element name="GEOPLZPLZ4" type="xsd:string"/> 
               <xsd:element name="GEOPLZONRP" type="xsd:integer"/> 
               <xsd:element name="GEOPLZSPRCOD1" type="xsd:integer"/> 
               <xsd:element name="GEOPLZSPRCOD2" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT18" type="xsd:string"/> 
               <xsd:element name="GEOPLZORT27" type="xsd:string"/> 
               <xsd:element name="GEOPLZORT39" type="xsd:string"/> 
               <xsd:element name="GEOPLZPLZTYP" type="xsd:integer"/> 
               <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEONATID" type="xsd:string"/> 
               <xsd:element name="GEONATBEZ" type="xsd:string"/> 
               <xsd:element name="GEOPLZSTATUS" type="xsd:integer"/> 
              </xsd:sequence> 
             </xsd:complexType> 
            </xsd:element> 
           </xsd:sequence> 
          </xsd:complexType> 
         </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoPktResp"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="ErrorCode" type="xsd:integer"/> 
         <xsd:element name="ErrorText" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="DataSet"> 
          <xsd:complexType> 
           <xsd:sequence maxOccurs="unbounded"> 
            <xsd:element name="row" minOccurs="0"> 
             <xsd:complexType> 
              <xsd:sequence> 
               <xsd:element name="GEOPKTID" type="xsd:integer"/> 
               <xsd:element name="GEOPKTBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPKTKORX" type="xsd:decimal"/> 
               <xsd:element name="GEOPKTKORY" type="xsd:decimal"/> 
               <xsd:element name="GEOPKTKORZ" type="xsd:decimal" minOccurs="0"/> 
               <xsd:element name="GEOPKTSTK" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPKTWOH" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPKTTYP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPKTMAIN" type="xsd:boolean"/> 
               <xsd:element name="GEOADRID" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOSTRBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOSTRTYP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNR" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNRZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNRT" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRHAUSN" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRGEBFLG" type="xsd:boolean" minOccurs="0"/> 
               <xsd:element name="GEOADRLAGFLG" type="xsd:boolean" minOccurs="0"/> 
               <xsd:element name="GEOADRCMT" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRHAUSKEY" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOADRGPOID" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZ4" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZONRP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZSPRCOD1" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZSPRCOD2" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT18" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT27" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT39" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZTYP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEONATID" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEONATBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPKTSTATUS" type="xsd:integer"/> 
              </xsd:sequence> 
             </xsd:complexType> 
            </xsd:element> 
           </xsd:sequence> 
          </xsd:complexType> 
         </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoPlzReq"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="GEOPLZPLZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZPLZ4" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZORT39" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="maxRows" type="xsd:integer" minOccurs="0"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoNationReq"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="GEONATID" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEONATBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="maxRows" type="xsd:integer" minOccurs="0"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoAdrResp"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="ErrorCode" type="xsd:integer"/> 
         <xsd:element name="ErrorText" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="DataSet"> 
          <xsd:complexType> 
           <xsd:sequence maxOccurs="unbounded"> 
            <xsd:element name="row" minOccurs="0"> 
             <xsd:complexType> 
              <xsd:sequence> 
               <xsd:element name="GEOADRID" type="xsd:integer"/> 
               <xsd:element name="GEOSTRBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOSTRTYP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNR" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNRZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRNRT" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRSTRHAUSN" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRGEBFLG" type="xsd:boolean" minOccurs="0"/> 
               <xsd:element name="GEOADRLAGFLG" type="xsd:boolean" minOccurs="0"/> 
               <xsd:element name="GEOADRCMT" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRHAUSKEY" type="xsd:integer"/> 
               <xsd:element name="GEOADRGPOID" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZ4" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZONRP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZSPRCOD1" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZSPRCOD2" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT18" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT27" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZORT39" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOPLZPLZTYP" type="xsd:integer" minOccurs="0"/> 
               <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEONATID" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEONATBEZ" type="xsd:string" minOccurs="0"/> 
               <xsd:element name="GEOADRSTATUS" type="xsd:integer"/> 
              </xsd:sequence> 
             </xsd:complexType> 
            </xsd:element> 
           </xsd:sequence> 
          </xsd:complexType> 
         </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
      <xsd:element name="ZuboGeoAdrReq"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="GEOADRID" type="xsd:integer" minOccurs="0"/> 
         <xsd:element name="GEOKTNID" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOKTNBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZPLZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZPLZ4" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOPLZORT39" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOSTRBEZ" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOADRSTRNRT" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="GEOADRCMT" type="xsd:string" minOccurs="0"/> 
         <xsd:element name="withDeletedAdr" type="xsd:boolean" minOccurs="0"/> 
         <xsd:element name="maxRows" type="xsd:integer" minOccurs="0"/> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
     </xsd:schema> 
    </wsdl:types> 
    <wsdl:message name="p2.ZuboGeoKantonReq"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoKantonReq" element="p2:ZuboGeoKantonReq"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoKantonResp"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoKantonResp" element="p2:ZuboGeoKantonResp"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoPlzReq"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoPlzReq" element="p2:ZuboGeoPlzReq"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoPlzResp"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoPlzResp" element="p2:ZuboGeoPlzResp"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoNationReq"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoNationReq" element="p2:ZuboGeoNationReq"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoNationResp"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoNationResp" element="p2:ZuboGeoNationResp"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoAdrReq"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoAdrReq" element="p2:ZuboGeoAdrReq"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoAdrResp"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoAdrResp" element="p2:ZuboGeoAdrResp"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoPktReq"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoPktReq" element="p2:ZuboGeoPktReq"/> 
    </wsdl:message> 
    <wsdl:message name="p2.ZuboGeoPktResp"> 
     <wsdl:documentation/> 
     <wsdl:part name="ZuboGeoPktResp" element="p2:ZuboGeoPktResp"/> 
    </wsdl:message> 
    <wsdl:portType name="ReadSddsAddressOut"> 
     <wsdl:documentation/> 
     <wsdl:operation name="GeoSuchKanton"> 
      <wsdl:documentation/> 
      <wsdl:input message="p1:p2.ZuboGeoKantonReq"/> 
      <wsdl:output message="p1:p2.ZuboGeoKantonResp"/> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchPlz"> 
      <wsdl:documentation/> 
      <wsdl:input message="p1:p2.ZuboGeoPlzReq"/> 
      <wsdl:output message="p1:p2.ZuboGeoPlzResp"/> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchNation"> 
      <wsdl:documentation/> 
      <wsdl:input message="p1:p2.ZuboGeoNationReq"/> 
      <wsdl:output message="p1:p2.ZuboGeoNationResp"/> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchAdr"> 
      <wsdl:documentation/> 
      <wsdl:input message="p1:p2.ZuboGeoAdrReq"/> 
      <wsdl:output message="p1:p2.ZuboGeoAdrResp"/> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchPkt"> 
      <wsdl:documentation/> 
      <wsdl:input message="p1:p2.ZuboGeoPktReq"/> 
      <wsdl:output message="p1:p2.ZuboGeoPktResp"/> 
     </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:binding name="ReadSddsAddressOutBinding" type="p1:ReadSddsAddressOut"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
     <wsdl:operation name="GeoSuchKanton"> 
      <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      <wsdl:input> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:output> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchPlz"> 
      <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      <wsdl:input> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:output> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchNation"> 
      <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      <wsdl:input> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:output> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchAdr"> 
      <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      <wsdl:input> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:output> 
     </wsdl:operation> 
     <wsdl:operation name="GeoSuchPkt"> 
      <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      <wsdl:input> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
      </wsdl:output> 
     </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:service name="ReadSddsAddressOutService"> 
     <wsdl:port name="ReadSddsAddressOutPort" binding="p1:ReadSddsAddressOutBinding"> 
      <soap:address location="http://h03kyq:51000/XISOAPAdapter/MessageServlet?channel=:SDDS_DEV:ssReadSddsAddress" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> 
     </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 

और (खराब) प्रॉक्सी वर्ग इस तरह दिखता है:

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  Dieser Code wurde von einem Tool generiert. 
//  Laufzeitversion:2.0.50727.3074 
// 
//  Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn 
//  der Code erneut generiert wird. 
// </auto-generated> 
//------------------------------------------------------------------------------ 



[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] 
[System.ServiceModel.ServiceContractAttribute(Namespace="http://post.ch/sdds/address", ConfigurationName="ReadSddsAddressOut")] 
public interface ReadSddsAddressOut 
{ 

    [System.ServiceModel.OperationContractAttribute()] 
    void GeoSuchKanton(); 

    [System.ServiceModel.OperationContractAttribute()] 
    void GeoSuchPlz(); 

    [System.ServiceModel.OperationContractAttribute()] 
    void GeoSuchNation(); 

    [System.ServiceModel.OperationContractAttribute()] 
    void GeoSuchAdr(); 

    [System.ServiceModel.OperationContractAttribute()] 
    void GeoSuchPkt(); 
} 

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] 
public interface ReadSddsAddressOutChannel : ReadSddsAddressOut, System.ServiceModel.IClientChannel 
{ 
} 

[System.Diagnostics.DebuggerStepThroughAttribute()] 
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] 
public partial class ReadSddsAddressOutClient : System.ServiceModel.ClientBase<ReadSddsAddressOut>, ReadSddsAddressOut 
{ 

    public ReadSddsAddressOutClient() 
    { 
    } 

    public ReadSddsAddressOutClient(string endpointConfigurationName) : 
      base(endpointConfigurationName) 
    { 
    } 

    public ReadSddsAddressOutClient(string endpointConfigurationName, string remoteAddress) : 
      base(endpointConfigurationName, remoteAddress) 
    { 
    } 

    public ReadSddsAddressOutClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
      base(endpointConfigurationName, remoteAddress) 
    { 
    } 

    public ReadSddsAddressOutClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
      base(binding, remoteAddress) 
    { 
    } 

    public void GeoSuchKanton() 
    { 
     base.Channel.GeoSuchKanton(); 
    } 

    public void GeoSuchPlz() 
    { 
     base.Channel.GeoSuchPlz(); 
    } 

    public void GeoSuchNation() 
    { 
     base.Channel.GeoSuchNation(); 
    } 

    public void GeoSuchAdr() 
    { 
     base.Channel.GeoSuchAdr(); 
    } 

    public void GeoSuchPkt() 
    { 
     base.Channel.GeoSuchPkt(); 
    } 
} 

किसी भी मदद की बहुत अच्छा होगा।

+0

वास्तव में समस्या क्या है? मैं देखता हूं कि त्रुटियों के बजाए चेतावनियां हैं (और आप उन्हें हमारे लिए अनुवाद करना चाहते हैं * grin *) ऑर्डर विशेषताओं को जोड़ने से भी खोए गए डेटा का कारण नहीं बनना चाहिए जब तक कि दूसरी तरफ की सेवा खराब धारणाएं नहीं कर रही हो। – blowdart

+0

ऑर्डर क्लॉज जोड़कर, डब्ल्यूसीएफ स्वचालित रूप से मानता है कि प्रत्येक एकल विशेषता दिखाई देगी। यह जरूरी नहीं है, खासतौर पर चूंकि मिनोकुर 0. समस्या यह है कि, उन चेतावनियों का अर्थ यह है कि जनरेटर ने प्रकारों को पूरी तरह से छोड़ दिया, शून्य उत्पन्न किया ... (शून्य) विधियों, जो इसे नहीं करना चाहिए, वे सभी एक इनपुट और एक आउटपुट प्रकार है। उस पूरे डब्लूएसडीएल के माध्यम से पढ़ने के लिए –

उत्तर

23

wsdl द्वारा उपयोग की जाने वाली स्कीमा डेटा अनुबंध Serializer के Schema Reference के अनुरूप नहीं है।

समस्याएं:

  1. "सभी तत्वों को एक स्कीमा के लिए क्वालीफाई किया जाना चाहिए DataContractSerializer द्वारा समर्थित होने की"।

    आपकी स्कीमा टैग पर तत्व FormDefault विशेषता को छोड़ देती है, इसलिए डिफ़ॉल्ट, "अयोग्य" प्रभाव में है। आपको < स्कीमा> तत्व में निम्न विशेषता नाम/मान जोड़ी जोड़ने की आवश्यकता है ताकि डेटा अनुबंध Serializer (DCS) स्थानीय तत्वों/प्रकारों को हल कर सके।

    elementFormDefault = "योग्य"

  2. maxOccurs और minOccurs < क्रम पर विशेषताओं> टैग 1 है या लोप होना चाहिए (डिफ़ॉल्ट 1 है)।

    तो, < अनुक्रम> पर maxOccurs = "unbounded" को हटाएं।

  3. डेटासेट क्षेत्र के लिए उत्पन्न नेस्टेड संग्रह डेटा अनुबंध प्राप्त करने के लिए < पंक्ति> टैग पर maxOccurs = "unbounded" जोड़ें।

    उदाहरण के लिए,

    <xsd:element name="DataSet"> <xsd:complexType> <xsd:sequence> <xsd:element name="row" minOccurs="0" maxOccurs="unbounded"/>

+6

+1। –

+2

ऐसा लगता है जैसे श्री स्क्वाटिल एक्स ने स्वयं प्रश्न का उत्तर दिया। जब मैं उसका इस्तेमाल करता हूं तो वह इस तरह बात क्यों नहीं कर सकता? – x0n

0

मैं "तत्व" और भी बहुत कुछ के उपयोग से छुटकारा पाने के लिए किया था बल्कि सिर्फ इस्तेमाल किया "complexType" एस।

इसलिए मैंने डेटाकंट्रैक्ट्स और संदेशों में संलग्न तत्वों को हटा दिया, मैंने तत्व विशेषता के बजाय प्रकार विशेषता सेट की।अब यह काम करता है, बहुत बहुत धन्यवाद। :)

0

अरे मुझे यकीन नहीं है कि आपने अपना wsdl और सामान कैसे बनाया है, लेकिन डेटासेट में कुछ विषमताएं हैं।

जब एक डी एस मैं इस विधानसभा को संदर्भित करने की जरूरत के साथ मेरी प्रॉक्सी पैदा:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Data.dll

चीयर्स, Stian