Nie mogę pobrać zwolnień z serwisu ZUS.
Utworzyłem WSDL-a, na jego podstawie dodałem klasy service reference i przy próbie łączenia dostaję błąd ISS.0088.917 One or more entries header were not understood by SOAP processor
Mój kod (VS 2017. Próbowałem w VS2010 i VB.NET, taki sam błąd):
string url1 = "https://pue.zus.pl:8500/ws/zus.channel.platnikRaportyZla:wsdlPlatnikRaportyZla/zus_channel_platnikRaportyZla_wsdlPlatnikRaportyZla_Port";
EndpointAddress ea = new EndpointAddress(url1);
WSHttpBinding myBinding = new WSHttpBinding();
myBinding.Security.Mode = SecurityMode.Transport;
myBinding.MessageEncoding = WSMessageEncoding.Text;
myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
eZLAService1.wsdlPlatnikRaportyZla_PortTypeClient rrC = new eZLAService1.wsdlPlatnikRaportyZla_PortTypeClient();
rrC.Endpoint.Binding = myBinding;
rrC.Endpoint.Address = ea;
string login = "[email protected]"; // testuje na prawdziwych danych
string haslo = "Qqqqqqqq";
string nip = "67766666";
eZLAService1.Raport[] raporty;
string opis;
rrC.ClientCredentials.UserName.UserName = "b2b_platnik_raporty_zla";
rrC.ClientCredentials.UserName.Password = "b2b_platnik_raporty_zla";
rrC.Open();
rrC.pobierzRaporty("2019-04-01", login, haslo, nip, out opis, out raporty);
rrC.Open wykonuje się prawidłowo, błąd wychodzi w ostatniej linii.
W oryginalnych klasach pierwszy parametr był typu DateTime, też było źle.
Kiedy wklejam do Postmana czy SoapUI przykładowy kod SOAP Envelope z dokum. ZUS-u (login,hasło,nip daję moje) to dostaję odp. 0 - SUKCES.
Gdy zniekształcę któryś z parametrów to dostaję odpowiedź, że są błędne, więc nie jest to sprawa np. formatu daty.
Jakieś sugestie?
Jak podejrzeć request idący do serwisu ZUS (gotowy soap envelope, https)?
A.B.