public void KmehrConsultConfigViaConfig() { X509Certificate2 auth = null; //TODO: select eID X509Certificate2 session = null; //TODO: select p12 Binding sso = DoctorBuilder.CreateBinding("79021802145", "19997341001", new Uri("https://wwwacc.ehealth.fgov.be/sts_1_1/SecureTokenService")); var proxy = new GlobalMedicalFileConsultationPortTypeClient(sso, new EndpointAddress("https://services-acpt.ehealth.fgov.be/GlobalMedicalFileConsultation/v1")); //DoctorBuilder.ApplyBehaviors(proxy, auth, Path.GetTempPath(), TimeSpan.FromHours(12)); }
public static ResponseReturnType Consult(this GlobalMedicalFileConsultationPortTypeClient client, CommonInputType common, RoutingType routing, BlobType detail) { SendRequestType request = new SendRequestType(); request.CommonInput = common; request.Routing = routing; request.Detail = detail; //No xades required SendResponseType response = client.consultGlobalMedicalFile(request); if (response.Status.Code != "200") { throw new InvalidOperationException(String.Format("eHealth returned the following status: {0}, {1}", response.Status.Code, response.Status.Message[0].Value)); } //No xades returned return(response.Return); }
public static ConsultResponse Consult(this GlobalMedicalFileConsultationPortTypeClient client, CommonInputType common, RoutingType routing, RetrieveTransactionRequestType detailValue, out ArchivingInfo archivingInfo) { var detail = new BlobType(); detail.Id = "_" + Guid.NewGuid().ToString(); detail.ContentType = "text/xml"; detail.ContentEncoding = "none"; var detailStream = new MemoryStream(); var serializer = new XmlSerializer(typeof(RetrieveTransactionRequestType)); serializer.Serialize(detailStream, detailValue); detail.Value = detailStream.ToArray(); ResponseReturnType super = client.Consult(common, routing, detail); archivingInfo = new ArchivingInfo(); archivingInfo.RequestDetail = detail; archivingInfo.RequestXadesT = null; archivingInfo.ResponseDetail = super.Detail; archivingInfo.ResponseXadesT = super.XadesT; var retVal = new ConsultResponse(); retVal.Common = super.CommonOutput; if (super.Detail.ContentType == "text/xml" && super.Detail.ContentEncoding == "none") { var reader = XmlReader.Create(new MemoryStream(super.Detail.Value)); var deserializer = new XmlSerializer(typeof(RetrieveTransactionResponseType)); if (deserializer.CanDeserialize(reader)) { retVal.DetailValue = deserializer.Deserialize(reader) as RetrieveTransactionResponseType; } } return(retVal); }