.net core 2.2.0 SOAP踩坑

首先确认下面几个程序集是最新版本:

<PackageReference Include="System.ServiceModel.Http" Version="4.5.3" />
<PackageReference Include="System.ServiceModel.NetTcp" Version="4.5.3" />
<PackageReference Include="System.ServiceModel.Primitives" Version="4.5.3" />
<PackageReference Include="System.ServiceModel.Security" Version="4.5.3" />

 

org.xml.sax.SAXException: SimpleDeserializer encountered a child element

大概率是出在sendbody格式上,通过SoapUI测试可以看到正确的数据格式。

 

如果是HTTPS需要在客户端加上如下代码:

client.ClientCredentials.ServiceCertificate.SslCertificateAuthentication = new System.ServiceModel.Security.X509ServiceCertificateAuthentication()
                {
                    CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.Custom,
                    RevocationMode = X509RevocationMode.NoCheck,
                    CustomCertificateValidator = new MyX509CertificateValidator("anything")
                };


    public class MyX509CertificateValidator : X509CertificateValidator
    {
        string allowedIssuerName;

        public MyX509CertificateValidator(string allowedIssuerName)
        {
            this.allowedIssuerName = allowedIssuerName;
        }

        public override void Validate(X509Certificate2 certificate)
        {
            Console.WriteLine($"X509证书:{certificate?.IssuerName?.Name}");
        }
    }

  

转载于:https://www.cnblogs.com/coolyuwk/p/11002118.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值