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); }
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); } }