示例#1
0
        public void NadajRequest_Valid()
        {
            // arrange
            var czyProbne       = false;
            var adresSkrytki    = "/foo/default";
            var adresOdpowiedzi = "/bar/default";
            var podmiotNadawcy  = "test";

            var document = new DocumentType
            {
                NazwaPliku = "plik.txt",
                TypPliku   = "text/plain",
                Zawartosc  = Encoding.UTF8.GetBytes("abc")
            };

            var request = new NadajRequest()
            {
                CzyProbne       = czyProbne,
                AdresOdpowiedzi = adresOdpowiedzi,
                AdresSkrytki    = adresSkrytki,
                PodmiotNadawcy  = podmiotNadawcy,
                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 nadawany jest dokument</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="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 ani nie jest wystawiane UPP</param>
        /// <param name="daneDodatkowe">Dodatkowe dane w formacie XML</param>
        /// <param name="dokument">Przesyłany dokument wraz z ewentualnymi załącznikami</param>
        public virtual NadajResponse Nadaj(
            string podmiot,
            string adresSkrytki,
            string adresOdpowiedzi,
            bool czyProbne,
            byte[] daneDodatkowe,
            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");
            }

            var request = new NadajRequest()
            {
                DaneDodatkowe   = daneDodatkowe,
                CzyProbne       = czyProbne,
                AdresOdpowiedzi = adresOdpowiedzi,
                AdresSkrytki    = adresSkrytki,
                PodmiotNadawcy  = podmiot,
                Document        = dokument
            };

            // call ePUAP service and parse the response
            var response = WSSecurityRequest <NadajRequest, NadajResponse, NadajResponseHandler>(
                this.ServiceUri,
                request,
                out fault);

            // parsed response
            return(response);
        }