Dans notre application, nous sommes obligés de consommer plusieurs WebServices. Au début, nous avons simplement utilisé l'option "Add Service Reference", afin de créer un proxy WCF.Problème lors de la génération du proxy WebService à l'aide de svcutil
L'assistant n'a pas généré de contrat de données, mais plutôt une classe XML-sérialisable. Jusqu'ici, tant pis, mais ce n'était pas le tueur. Cependant, plus tard, nous avons remarqué que nous perdions des données, car le proxy généré ajoutait la propriété Order lors de l'attribution, ce qui causait des problèmes.
Maintenant, nous essayons de générer des classes proxy à partir du WSDL à l'aide du Svcutil.exe, mais nous sommes tout le temps faire passer le message d'erreur suivant:
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
Le message d'erreur en anglais ressemble à ceci
"L'élément facultatif d'extension WSDL 'body' de l'espace de noms 'http://schemas.xmlsoap.org/wsdl/soap/' n'a pas été traité."
Le WSDL d'origine ressemble à ceci:
<?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>
Et le (vissé) classe proxy ressemble à ceci:
//------------------------------------------------------------------------------
// <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();
}
}
Toute aide serait grande.
Quel est le problème? Tout ce que je vois sont des avertissements, plutôt que des erreurs (et vous pourriez vouloir les traduire * grin *) Même l'ajout d'attributs de commande ne devrait pas causer de perte de données à moins que le service de l'autre côté fasse de mauvaises suppositions. – blowdart
En ajoutant la clause Order, WCF suppose automatiquement que chaque attribut sera affiché. Ce n'est pas forcément le cas, d'autant plus que le minoccur vaut 0. Le problème est que ces avertissements signifient que le générateur a complètement ignoré les types, générant des méthodes void ... (void), ce qui n'est pas le cas, tous avoir une entrée et un type de sortie. –