public void DoreczRequest_Valid() { // arrange var czyProbne = false; var adresSkrytki = "/foo/default"; var adresOdpowiedzi = "/bar/default"; var podmiotNadawcy = "test"; var terminDoreczenia = DateTime.Now; var identyfikatorDokumentu = "abc"; var identyfikatorSprawy = "abc"; var document = new DocumentType { NazwaPliku = "plik.txt", TypPliku = "text/plain", Zawartosc = Encoding.UTF8.GetBytes("abc") }; var request = new DoreczRequest() { CzyProbne = czyProbne, AdresOdpowiedzi = adresOdpowiedzi, AdresSkrytki = adresSkrytki, IdentyfikatorPodmiotu = podmiotNadawcy, TerminDoreczenia = terminDoreczenia, IdentyfikatorDokumentu = identyfikatorDokumentu, IdentyfikatorSprawy = identyfikatorSprawy, Document = document }; var requestFactory = new RequestFactory(new TestCertProvider().GetClientCertificate()); // act string requestString = requestFactory.CreateRequest(request); // assert Assert.IsNotNull(requestString); }
/// <summary> /// Interfejs służy do nadawania (przedkladania) dokumentów XML na skrytkę /// </summary> /// <param name="podmiot">Identyfikator podmiotu w kontekście ktorego zlecane jest doręczenie</param> /// <param name="adresSkrytki">Adres skrytki odbiorcy</param> /// <param name="adresOdpowiedzi">Adres skrytki nadawcy na ktory mają być przesyłane odpowiedzi w sprawie</param> /// <param name="terminDoreczenia">Termin doręczenia</param> /// <param name="czyProbne">Określa czy to jest nadanie próbne, jedynie w celu sprawdzenia poprawności dokumentu i adresu; przy nadawaniu probnym dokument nie jest przekazywany do odbiorcy</param> /// <param name="identyfikatorDokumentu">Identyfikator dokumentu w systemie zewnętrznym, będzie umieszczony w UPD</param> /// <param name="identyfikatorSprawy">Identyfikator sprawy w systemie zewnętrznym, będzie umieszczony w UPD</param> /// <param name="daneDodatkowe">Dodatkowe dane w formacie XML</param> /// <param name="upd">Parametr opcjonalny, zawierający gotowe UPD, stworzone przez nadawcę (jeżeli nie zostanie podany, to UPD zostanie wygenerowane automatycznie)</param> /// <param name="dokument">Informacje o dokumencie</param> public virtual DoreczResponse Dorecz( string podmiot, string adresSkrytki, string adresOdpowiedzi, DateTime terminDoreczenia, bool czyProbne, string identyfikatorDokumentu, string identyfikatorSprawy, byte[] daneDodatkowe, DocumentType UPD, DocumentType dokument, out FaultModel fault ) { // validation if (string.IsNullOrEmpty(podmiot)) { throw new ArgumentNullException("podmiot"); } if (string.IsNullOrEmpty(adresSkrytki)) { throw new ArgumentNullException("adresSkrytki"); } if (string.IsNullOrEmpty(adresOdpowiedzi)) { throw new ArgumentNullException("adresOdpowiedzi"); } if (dokument == null) { throw new ArgumentException("dokument"); } if (string.IsNullOrEmpty(dokument.NazwaPliku)) { throw new ArgumentException("dokument"); } if (string.IsNullOrEmpty(dokument.TypPliku)) { throw new ArgumentException("dokument"); } if (dokument.Zawartosc == null) { throw new ArgumentException("dokument"); } // jak u licha przekazać tu UPD? w dokumentacji jest to pominięte! var request = new DoreczRequest() { IdentyfikatorPodmiotu = podmiot, AdresOdpowiedzi = adresOdpowiedzi, AdresSkrytki = adresSkrytki, TerminDoreczenia = terminDoreczenia, CzyProbne = czyProbne, IdentyfikatorDokumentu = identyfikatorDokumentu, IdentyfikatorSprawy = identyfikatorSprawy, DaneDodatkowe = daneDodatkowe, Document = dokument }; // call ePUAP service and parse the response var response = WSSecurityRequest <DoreczRequest, DoreczResponse, DoreczResponseHandler>( this.ServiceUri, request, out fault); // parsed response return(response); }