Yandex.Direct SOAP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдЗрд╕ рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП WSDL рд╡рд┐рд╡рд░рдг рд╕реЗ рдпреЛрдЬрдирд╛ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИред рдЕрд░реНрдерд╛рддреН, рдирд╛рдо рд╕реНрдерд╛рди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ ("API" рдХреЗ рдмрдЬрд╛рдп "
namespaces.soaplite.com/perl " рдФрд░ "
xml.apache.org/xml-soap ") рдЖрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдо "рд╡рд╛рдкрд╕реА" рдХреЗ рдмрдЬрд╛рдп GetRegions рд╡рд┐рдзрд┐ рдореЗрдВ) рдЖрддрд╛ рд╣реИ "ArrayOfRegionInfo")ред
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд╛рдорд╕реНрдерд╛рди рдХреА рд╕реЗрд╡рд╛ рдФрд░ рд╕рдорд╛рдпреЛрдЬрди рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЕрд╡рд░реЛрдзрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Reference.cs рдСрдЯреЛ-рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ WSDL рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЗрд╡рд▓ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░, Yandex.Direct рд╕реЗрд╡рд╛ WCF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C # рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
Yandex.Direct JSON рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд░рд╛рд░реВрдк рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг WebClient рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрджрд╛рд╣рд░рдг SOAP рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ, рдЬреИрд╕реЗ: рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЦреБрдж рд╕реЗ рдбреАрд░рд┐рд╢рд┐рдпрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реЗрд╡рд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рдЕрдиреБрдмрдВрдз рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред
рдЯреНрд░реЗрдирд┐рдВрдЧ
рд╕реЗрд╡рд╛ рдкреНрд░рд▓реЗрдЦрди
рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП:
1. рд░рдЬрд┐рд╕реНрдЯрд░ (рд▓реЙрдЧрд┐рди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП),
2. рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ application_id рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП),
3. рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдЯреЛрдХрди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕рдВрдЪрд░рдг рдХреЗ рд▓рд┐рдП),
4. рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЛрдХреЗрд▓ рдореЗрдВ рдореВрд▓реНрдп "рдЖрд░рдпреВ" рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдпрд╣рд╛рдВ рдлрд┐рд░ рд╕реЗ рди рд▓рд┐рдЦреЗрдВред
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рд░реНрдорд╛рдг
1. MS Visual Studio рдореЗрдВ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред
2. рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ, wsdl рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: "
api.direct.yandex.ru/wsdl/v4 ", рдирд╛рдорд╕реНрдерд╛рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреИрдВрдбреЗрдХреНрд╕реИрдкрд┐рд╕ рд╕рд░реНрд╡рд┐рд╕ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдЬреЛ рднреА рдЖрдкрдХреЛ рдкрд╕рдВрдж рд╣реИ)ред
3. Reference.cs рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, System.Nullable <System.DateTime> рдХреЛ System.DateTime рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
4. YandexAPIService.APIPort.GetRegions рд╡рд┐рдзрд┐ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ Reference.cs рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, "ArrayOfRegionInfo" рдХреЗ рд╕рд╛рде "рд╡рд╛рдкрд╕реА" рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдмрджрд▓реЗрдВред
5. рдПрдХ рдореИрд╕реЗрдЬ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрд╡рд╛ рд╕реЗ рдЖрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ "рдЧрд▓рдд" рдирд╛рдорд╕реНрдерд╛рди рдХреЛ "рд╕рд╣реА" рдПрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
using System; using System.IO; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Configuration; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; using System.Xml; namespace YandexDirectRegions {
6. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ [рдРрдк | рд╡реЗрдм] .config, рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="YandexDirectSoapBinding" maxReceivedMessageSize="100000"> <security mode="Transport" /> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="https://soap.direct.yandex.ru/v4/soap/" binding="basicHttpBinding" bindingConfiguration="YandexDirectSoapBinding" contract="YandexAPIService.APIPort" behaviorConfiguration="YandexDirectBehavior" name="APIPort" /> </client> <behaviors> <endpointBehaviors> <behavior name="YandexDirectBehavior"> <YandexDirectBehaviorExtension /> </behavior> </endpointBehaviors> </behaviors> <extensions> <behaviorExtensions> <add name="YandexDirectBehaviorExtension" type="YandexDirectRegions.YandexDirectBehaviorExtension, YandexDirectRegions" /> </behaviorExtensions> </extensions> </system.serviceModel> </configuration>
7. рд╣рдо рдПрдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ
using System; using System.Linq; using System.ServiceModel; using System.ServiceModel.Channels; using YandexDirectRegions.YandexAPIService; namespace YandexDirectRegions {