Exemple #1
0
        public static void DemoServiceAnfrageLadeRzSecurityVersion()
        {
            Pkcs12Store clientkeyStore = CertHelper.LadePkcsStore(zertpfad + "\\" + clientCertDateiname + ".pfx", clientPasswort);

            rzeLadeRzSecurityVersionAnfrage anfrage = ClientHelper.ErstelleRzeLadeRzSecurityVersionAnfrage("9998",
                                                                                                           "303706931",
                                                                                                           "Testapotheke FiveRxSecurity",
                                                                                                           "ladeRzVersion",
                                                                                                           "Musterhersteller",
                                                                                                           "Mustersoftware",
                                                                                                           "Musterversion");

            FiverxLinkSecurityLib.FiveRxSecurityService.genericResponseMsg antwort = null;

            using (FiverxLinkSecurityLib.FiveRxSecurityService.FiveRxLinkSecurityServiceSoapClient client =
                       SecurityServiceComHelper.GetFiveRxServiceSecurityClient(fiveRxServiceAdresse, clientkeyStore, clientPasswort))
            {
                FiverxLinkSecurityLib.FiveRxSecurityService.einParameterRequestMsg request = new FiverxLinkSecurityLib.FiveRxSecurityService.einParameterRequestMsg();
                request.rzeEingabeDaten = ParseHelper.GetStringFromXMLObject <rzeLadeRzSecurityVersionAnfrage>(anfrage);

                antwort = client.ladeRzSecurityVersion(request);
            }

            rzeLadeRzSecurityVersionAntwort securityVersion = ParseHelper.GetObjectFromXML <rzeLadeRzSecurityVersionAntwort>(antwort.rzeAusgabeDaten);
        }
        /// <summary>
        /// ERstellt ein Objekt vom Typ rzeLadeRzSecurityVersionAnfrage, welches notwendig ist um die Methode
        /// ladeRzSecurityVersion anzusprechen
        /// </summary>
        /// <param name="fachlicheAnfrageXml">Xml nach dem Schema RzeRezept Version xxxx</param>
        /// <param name="rzkdnr">Kundennummer der Apotheke</param>
        /// <param name="apoIk">ApothekenIK</param>
        /// <param name="apoInformation">Information zur Apotheke</param>
        /// <param name="apoLogMethode">Methode im fachlichen Sinne, welche die Apotheke beabsichtigt anzusprechen</param>
        /// <param name="softwarehersteller">Hersteller der Warenwirtschaft</param>
        /// <param name="softwarename">Name der Warenwirtschaft</param>
        /// <param name="softwareversion">Version der Warenwirtschaft</param>
        /// <returns></returns>
        public static rzeLadeRzSecurityVersionAnfrage ErstelleRzeLadeRzSecurityVersionAnfrage(string rzkdnr,
                                                                                              string apoIk,
                                                                                              string apoInformation,
                                                                                              string apoLogMethode,
                                                                                              string softwarehersteller,
                                                                                              string softwarename,
                                                                                              string softwareversion)
        {
            apoInformation apoInfoObjekt = new apoInformation();

            apoInfoObjekt.rzKdNr          = rzkdnr;
            apoInfoObjekt.apoIk           = apoIk;
            apoInfoObjekt.apoInfo         = apoInformation;
            apoInfoObjekt.apoLogMethode   = apoLogMethode;
            apoInfoObjekt.apoSwHersteller = softwarehersteller;
            apoInfoObjekt.apoSwName       = softwarename;
            apoInfoObjekt.apoSwVersion    = softwareversion;

            rzeLadeRzSecurityVersionAnfrage anfrage = new rzeLadeRzSecurityVersionAnfrage();

            anfrage.apoInformation = apoInfoObjekt;
            return(anfrage);
        }
Exemple #3
0
        public static void DemoTestAnfrageNARZTestservice()
        {
            using (NARZService.FiverxLinkSecurityService_PortTypeClient client = new NARZService.FiverxLinkSecurityService_PortTypeClient())
            {
                NARZService.einParameterRequestMsg anfrageObjectLadeRzSecurityVersion = new NARZService.einParameterRequestMsg();

                rzeLadeRzSecurityVersionAnfrage anfrageLadeRzSecurityVersion = ClientHelper.ErstelleRzeLadeRzSecurityVersionAnfrage("9998",
                                                                                                                                    "303706931",
                                                                                                                                    "Testapotheke FiveRxSecurity",
                                                                                                                                    "ladeRzVersion",
                                                                                                                                    "Musterhersteller",
                                                                                                                                    "Mustersoftware",
                                                                                                                                    "Musterversion");

                anfrageObjectLadeRzSecurityVersion.rzeEingabeDaten = ParseHelper.GetStringFromXMLObject <rzeLadeRzSecurityVersionAnfrage>(anfrageLadeRzSecurityVersion);
                NARZService.genericResponseMsg antwortSecurityVersion = client.ladeRzSecurityVersion(anfrageObjectLadeRzSecurityVersion);

                NARZService.zweiParameterRequestMsg anfrageObjectVerarbeiteAuftrag = new NARZService.zweiParameterRequestMsg();

                //Laden des Client KeyStores:
                Pkcs12Store clientkeyStore = CertHelper.LadePkcsStore(zertpfad + "\\" + clientCertDateiname + ".pfx", clientPasswort);

                //Laden des Server Zerfifikats (üblich vom Server geladen per Webservice):
                X509Certificate caCertifikate = CertHelper.Ladex509Certificate(zertpfad + "\\" + rzCertDateiname + ".der");

                //Laden des fachliches Dokuments
                XmlDocument fachlichesDokumentClient = new XmlDocument();
                fachlichesDokumentClient.PreserveWhitespace = true;
                fachlichesDokumentClient.LoadXml(testXmlAnfrage);

                //Generierung des Serviceanfrage:
                rzeAnfrage anfrageVerarbeiteAuftrag = ClientHelper.ErstelleRzeAnfrageObjekt(fachlichesDokumentClient,
                                                                                            "1111",
                                                                                            "111111111",
                                                                                            "testapo",
                                                                                            "testmethode",
                                                                                            "testhersteller",
                                                                                            "testsoftware",
                                                                                            "testversion",
                                                                                            clientkeyStore,
                                                                                            clientPasswort,
                                                                                            new SecurityKonfiguration(),
                                                                                            caCertifikate);


                anfrageObjectVerarbeiteAuftrag.rzeEingabeDaten          = ParseHelper.GetStringFromXMLObject <rzeAnfrage>(anfrageVerarbeiteAuftrag);
                anfrageObjectVerarbeiteAuftrag.rzeLadeRzSecurityVersion = "Test";

                NARZService.genericResponseMsg antwortVerarbeiteAuftrag = client.verarbeiteAuftrag(anfrageObjectVerarbeiteAuftrag);

                bool            istEntschluesselungErfolgreich;
                bool            istSignaturValide;
                bool            istSigniertesXmlValide;
                X509Certificate signatureCertificate;

                rzeAntwort serverAntwort = ParseHelper.GetObjectFromXML <rzeAntwort>(antwortVerarbeiteAuftrag.rzeAusgabeDaten);

                string xmlAsString = ClientHelper.VerifiziereServerAntwort(serverAntwort.rzDatenBox,
                                                                           clientkeyStore,
                                                                           clientPasswort,
                                                                           out istEntschluesselungErfolgreich,
                                                                           out istSignaturValide,
                                                                           out istSigniertesXmlValide,
                                                                           out signatureCertificate);
            }
        }