Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }