API TERYT C#

Odpowiedz Nowy wątek
2019-07-15 13:33
0

Witam,
Chciałem wykorzystać api TERYT do pobierania słowników, ale nie wiem jak mam poprawnie wyglądać implementacja w C# z wykorzystaniem klasy ChannelFactory.
Przykład dostajemy, ale nie wiem jak ma wyglądać "ServiceReferenceWCF.ITerytWs1", oraz nie wiem jak dodać plik konfiguracyjny do projektu, żeby załapało (czy może przypadkiem trzeba go dodać w App.config?).
Poniżej przykładowy klient + plik konfiguracyjny.

try { 
     var proxy = new ChannelFactory<ServiceReferenceWCF.ITerytWs1>("custom");
    proxy.Credentials.UserName.UserName = login;
    proxy.Credentials.UserName.Password = haslo;
    var result = proxy.CreateChannel(); 
    var test = result.CzyZalogowany(); } 
catch (Exception ex) { } 

Dostajemy również przykład pliku konfigurayjnego, dla klienta:

<client> <endpoint address="https://uslugaterytws1.stat.gov.pl/TerytWs1.svc" binding="customBinding" bindingConfiguration="custom" contract="ServiceReference1.ITerytWs1" name="custom" />
</client> <bindings> <customBinding> <binding name="custom">
<security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport" requireDerivedKeys="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
<localClientSettings detectReplays="false" /> <localServiceSettings detectReplays="false" /> </security>
<textMessageEncoding messageVersion="Soap11WSAddressing10" />
<httpsTransport maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"/> </binding> </customBinding> </bindings>
edytowany 1x, ostatnio: cerrato, 2019-07-15 14:32

Pozostało 580 znaków

2019-07-15 15:35

Adres WSDL'a: https://uslugaterytws1.stat.gov.pl/TerytWs1.svc?wsdl
Z tego można wygenerować klienta po stronie C#. Niestety w tej schemie jest odniesienie do adresu: https://veadmz20:83/TerytWs1.svc, który nie jest dostępny.
Zarówno Visual Studio ani SOAP UI nie są w stanie tego WSDL'a skonsumować.
w Visual Studio w ten sposób możesz wygenerować klienta:

  1. screenshot-20190715152437.png
    Jest jeszcze narzędzie svcutil.exe ale pewnie efekt będzie ten sam.

Pozostało 580 znaków

2019-07-16 10:24
0

Witam, dzięki za pomoc.
Udało mi sie połączyć z serwisem poprzez dodanie referencji.

Jeśli ktoś Ci pomógł, to oznacz jego odpowiedź jako zaakceptowaną przy pomocy fajki w prawej części postu. :) - somekind 2019-07-16 15:10
@somekind: A kliknąć myszą też może? :P - PerlMonk 2019-07-16 15:13
Dziękuję. - somekind 2019-07-16 15:17

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0