public oczekujaceDokumentyResponse oczekujaceDokumenty(oczekujaceDokumentyRequest request) { OdpowiedzPullOczekujaceTyp odp = new OdpowiedzPullOczekujaceTyp(); odp.oczekujace = count; oczekujaceDokumentyResponse resp = new oczekujaceDokumentyResponse(odp); return(resp); }
public oczekujaceDokumentyResponse(OdpowiedzPullOczekujaceTyp OdpowiedzPullOczekujace) { this.OdpowiedzPullOczekujace = OdpowiedzPullOczekujace; }
private void button1_Click(object sender, EventArgs e) { string txtDestinationFolder = @"c:\pobrane_z_ePUAP"; //string txtAdresSkrytki = "/zsisigidspzoo/skrytkaKD"; string txtAdresSkrytki = "skrytkaKD"; string txtNazwaSkrytki = "test KD"; string txtPodmiot = "zsisigidspzoo"; //nowy komentarz //parametry do zapytania ZapytaniePullOczekujaceTyp zapBody = new ZapytaniePullOczekujaceTyp(); zapBody.adresSkrytki = txtAdresSkrytki; zapBody.nazwaSkrytki = txtNazwaSkrytki; zapBody.podmiot = txtPodmiot; textBox1.AppendText("Adres skrytki: " + zapBody.adresSkrytki + Environment.NewLine); textBox1.AppendText("Nazwa skrytki: " + zapBody.nazwaSkrytki + Environment.NewLine); textBox1.AppendText("Podmiot: " + zapBody.podmiot + Environment.NewLine); CustomBinding pullBinding = CreatePullBinding(); EndpointAddress pullEndpoint = CreatePullEndpoint(); //klient pull pullClient _client = new pullClient(pullBinding, pullEndpoint); X509Certificate2 certyfikatKlienta = GetClientCert(); X509Certificate2 certyfikatSerwisu = GetServiceCert(); _client.ClientCredentials.ClientCertificate.Certificate = certyfikatKlienta; _client.ClientCredentials.ServiceCertificate.DefaultCertificate = certyfikatSerwisu; //certyfikat dostarczony przez ePUAP do podpisywanie nie daje się zwalidować pod względem nadrzędnych instytucji //tzn. chyba sami go sobie wystawiają _client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None; try { //sprawdź oczekujące dokumenty OdpowiedzPullOczekujaceTyp odp = _client.oczekujaceDokumenty(zapBody); textBox1.AppendText("Oczekujące dokumenty: " + odp.oczekujace.ToString()); } catch (MessageSecurityException ex) { try { System.ServiceModel.FaultException exInner = (FaultException)ex.InnerException; textBox1.AppendText("Wyjątek 1: " + ex.Message); if (ex.InnerException == null) { throw new Exception("Brak szczegółowych informacji o błędzie."); } FaultException fe = ex.InnerException as FaultException; textBox1.AppendText("Wyjątek 2: " + fe.Message); if (fe == null) { throw new Exception("Szczegółowe informacje zapisane zostały w nieprzewidzianym formacie."); } MessageFault mf = fe.CreateMessageFault(); if (mf == null) { throw new Exception("Wystąpił problem podczas odtwarzania szczegółowych informacji."); } XmlReader xr = mf.GetReaderAtDetailContents(); XmlDocument xd = new XmlDocument(); xd.Load(xr); XmlNode elemKomunikat = xd.SelectSingleNode("//*[local-name() = 'komunikat']"); XmlNode elemKod = xd.SelectSingleNode("//*[local-name() = 'kod']"); StringBuilder msg = new StringBuilder(); msg.Append("Wystąpił problem z doręczeniem dokumentów. Poniżej znajdują się szczegółowe informacje (komunikaty) przekazane przez ePUAP."); msg.AppendFormat("Informacja z ePUAP: \"{0}, kod błędu: {1}\"", elemKomunikat.InnerText, elemKod.InnerText); textBox1.AppendText(msg.ToString()); } catch (Exception iex) { //textBox1.AppendText(ex.Message); //textBox1.AppendText(iex.Message); } } catch (Exception ex) { textBox1.AppendText(string.Format("Wystąpił błąd podczas pobierania liczby oczekujacych dokumentow: " + ex.Message)); textBox1.AppendText(string.Format("Wystąpił błąd podczas pobierania liczby oczekujacych source: " + ex)); } }