コード例 #1
0
ファイル: DGWSAssertion.cs プロジェクト: openmedicus/SealApi
        public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
        {
            return(new DelegateFilter
            {
                ProcessEnvelope = (envelope) =>
                {
                    var fault = envelope.Element(NA.soap + "Body").Element(NA.soap + "Fault");;
                    if (fault != null)
                    {
                        RequestResponse.DGWSServiceResponseFaultHandle11(fault, SericeUtil.ServiceSessionData.error);
                        SericeUtil.ServiceSessionData.error = null;
                    }

                    var clientCard = SericeUtil.ServiceSessionData.Card;
                    if (clientCard == null)
                    {
                        return SoapFilterResult.Continue;
                    }
                    var serviceCard = GetIDCard(clientCard.IDCardVersion);
                    if (serviceCard != null)
                    {
                        serviceCard.HandleOutgoingResponse(envelope);
                        serviceCard.HandleOutgoingMedcomHeaderResponse(envelope, GetMedcomHeader);
                    }
                    return SoapFilterResult.Continue;
                }
            });
        }
コード例 #2
0
ファイル: DGWSAssertion.cs プロジェクト: openmedicus/SealApi
        public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
        {
            return(new DelegateFilter
            {
                ProcessEnvelope = (envelope) =>
                {
                    ErrorType err = null;
                    var AssertionTag = envelope.Element(UsedPaths.HeaderAssertion);
                    if (AssertionTag == null)
                    {
                        err = CheckIDCard(null, envelope);
                    }
                    else
                    {
                        var serviceCard = CardFactory.Load(AssertionTag);
                        err = serviceCard.HandleIncommingResponse(envelope, CheckIDCard);
                        AssertionTag.Parent.Remove();
                        if (err != null)
                        {
                            throw new Exception(err.Message);
                        }
                        err = serviceCard.HandleIncommingMedcomHeaderResponse(envelope, CheckMedcomHeader);
                    }

                    if (err != null)
                    {
                        throw new Exception(err.Message);
                    }
                    return SoapFilterResult.Continue;
                }
            });
        }
コード例 #3
0
 public ClientOutputFilter(UsernameClientAssertion parentAssertion,
                           FilterCreationContext filterContext)
     : base(parentAssertion.ServiceActor, false, parentAssertion.ClientActor)
 {
     this.parentAssertion = parentAssertion;
     this.filterContext   = filterContext;
 }
コード例 #4
0
ファイル: DGWSAssertion.cs プロジェクト: openmedicus/SealApi
        public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
        {
            return(new DelegateFilter
            {
                ProcessEnvelope = (envelope) =>
                {
                    try
                    {
                        var hd = envelope.Element(NA.soap + "Header");
                        if (hd == null)
                        {
                            return errorhandler.makeServiceError(new ErrorType(ErrorCode.MissingHeader, "Soap header mangler"));
                        }

                        var AssertionTag = envelope.Element(UsedPaths.HeaderAssertion);
                        if (AssertionTag == null)
                        {
                            return errorhandler.makeServiceError(new ErrorType(ErrorCode.InvalidHeader, "Assertion tag mangler"));
                        }

                        var card = CardFactory.Load(AssertionTag);
                        var msg = card.HandleIncommingRequest(envelope, CheckIDCard);
                        AssertionTag.Parent.Remove();
                        if (msg != null)
                        {
                            return errorhandler.makeServiceError(msg);
                        }

                        msg = card.HandleIncommingMedcomHeaderRequest(envelope, CheckMedcomHeader);
                        if (msg != null)
                        {
                            return errorhandler.makeServiceError(msg);
                        }
                    }
                    catch (Exception ex)
                    {
                        return errorhandler.makeServiceError(new ErrorType(ErrorCode.InternalError, "DGWSAssertionServiceInFilter " + ex.Message));
                    }

                    return SoapFilterResult.Continue;
                }
            });
        }
コード例 #5
0
ファイル: DGWSAssertion.cs プロジェクト: openmedicus/SealApi
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new DelegateFilter
     {
         ProcessEnvelope = (envelope) =>
         {
             var card = GetIDCard(null);
             var err = card.HandleOutgoingRequest(envelope);
             if (err != null)
             {
                 return errorhandler.makeClientError(err);
             }
             err = card.HandleOutgoingMedcomHeaderRequest(envelope, GetMedcomHeader);
             if (err != null)
             {
                 return errorhandler.makeClientError(err);
             }
             return SoapFilterResult.Continue;
         }
     });
 }
コード例 #6
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return new ClientOutputFilter(this, context);
 }
コード例 #7
0
 public ServiceInputFilter(UsernameAssertion parentAssertion, FilterCreationContext filterContext)
     : base(parentAssertion.ServiceActor, false, parentAssertion.ClientActor)
 {
     this.parentAssertion = parentAssertion;
     this.filterContext = filterContext;
 }
コード例 #8
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return bEnabled ? new CustomTraceFilter(inputfile) : null;
 }
コード例 #9
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new CustomSecurityClientOutputFilter(this));
 }
コード例 #10
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return new ClientInputFilter(this.transbankCertificateName);
 }
コード例 #11
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new ClientOutputFilter(this, context));
 }
コード例 #12
0
 CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new ClientOutputFilter(this, context));
 }
コード例 #13
0
 CreateServiceOutputFilter(FilterCreationContext context)
 {
     return(null);
 }
コード例 #14
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     return null;
 }
コード例 #15
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new AddIDsOutFilter());
 }
コード例 #16
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     // we don't provide ClientInputFilter
     return null;
 }
コード例 #17
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     // we don't provide any processing for web service side
     return null;
 }
コード例 #18
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new DocuSignCertificateLevelSecurityOutputFilter(this, context));
 }
コード例 #19
0
 public DocuSignCertificateLevelSecurityOutputFilter(DocuSignCertificateLevelSecurityAssertion parentAssertion, FilterCreationContext filterContext)
     : base(parentAssertion.ServiceActor, true, parentAssertion.ClientActor)
 {
     this.parentAssertion = parentAssertion;
     this.filterContext   = filterContext;
 }
コード例 #20
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     throw new NotImplementedException();
 }
コード例 #21
0
 public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
 {
     return(new ServiceInputFilter(this, context));
 }
コード例 #22
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return(new ClientInputFilter(this.config));
 }
コード例 #23
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     // we don't provide ServiceOutputFilter
     return null;
 }
コード例 #24
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(new ClientOutputFilter(this.issuerNameCertificate, this.config));
 }
コード例 #25
0
 CreateClientInputFilter(FilterCreationContext context)
 {
     return(null);
 }
コード例 #26
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return(bEnabled ? new CustomTraceFilter(inputfile) : null);
 }
コード例 #27
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     return(bEnabled ? new CustomTraceFilter(outputfile) : null);
 }
コード例 #28
0
 CreateClientInputFilter(FilterCreationContext context)
 {
     // we don't provide ClientInputFilter
     return(null);
 }
コード例 #29
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return new ClientOutputFilter(this.issuerCertificateName);
 }
コード例 #30
0
 CreateServiceOutputFilter(FilterCreationContext context)
 {
     // we don't provide any processing for web service side
     return(null);
 }
コード例 #31
0
ファイル: MyAssertion.cs プロジェクト: reckcn/DevLib.Comm
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return new MyPolicy();
 }
コード例 #32
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return new CustomSecurityClientOutputFilterBearer(this);
 }
コード例 #33
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     return bEnabled ? new CustomTraceFilter(outputfile) : null;
 }
コード例 #34
0
 /// <summary>
 /// Aktiverer ClientOutputFilter
 /// </summary>
 /// <param name="context"></param>
 /// <returns>ClientOutputFilter</returns>
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     return(ClientOutputFilter);
 }
コード例 #35
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return(null);
 }
コード例 #36
0
 /// <summary>
 /// AKtiverer
 /// </summary>
 /// <param name="context"></param>
 /// <returns>ServiceInputFilter</returns>
 public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
 {
     return(ServiceInputFilter);
 }
コード例 #37
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return null;
 }
コード例 #38
0
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return(new InputSoapFilter(_serverCert, _checkResponseSignature));
 }
コード例 #39
0
 public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
 {
     return new ServiceInputFilter(this, context);
 }
コード例 #40
0
ファイル: MessageSign.cs プロジェクト: openmedicus/SealApi
 public override SoapFilter CreateClientInputFilter(FilterCreationContext context)
 {
     return(new MessageSignClientInFilter(CertificateChecker));
 }
コード例 #41
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     // this assertion is intended to work only on service side
     return null;
 }
コード例 #42
0
ファイル: MessageSign.cs プロジェクト: openmedicus/SealApi
 public override SoapFilter CreateServiceInputFilter(FilterCreationContext context)
 {
     return(new MessageSignServiceInFilter(CertificateChecker, ServiceAcceptOtherThan11));
 }
コード例 #43
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     // this assertion is intended to work only on service side
     return(null);
 }
コード例 #44
0
ファイル: MessageSign.cs プロジェクト: openmedicus/SealApi
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     return(new MessageSignServiceOutFilter(certificate));
 }
コード例 #45
0
 public override SoapFilter CreateServiceOutputFilter(FilterCreationContext context)
 {
     return(null);
 }
コード例 #46
0
 public override SoapFilter CreateClientOutputFilter(FilterCreationContext context)
 {
     // we don't provide any processing for client side
     return null;
 }