OVM webservice 在winform中引用

开始按照文档中的

https://.../OVSWS/VirtualMachineService.wsdl 引入服务,代理类生成成功了,

但是自动生成的配置没有生成endpoint,手工配置上去,结果还是报错。


后面随便试试,发现使用

https://.../OVSWS/VirtualMachineServiceSoapHttpPort?WSDL

生成代理类和配置都OK了

但是还是验证不成功,后面反复调整参数,修改transport的 clientCredentialType为Basic级OK了。



<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="VirtualMachineServiceSoapHttp" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="Transport">
                        <transport clientCredentialType="Basic" proxyCredentialType="None"
                            realm="webservices" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
                <binding name="VirtualMachineServiceSoapHttp1" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="webservices" />
                        <message clientCredentialType="UserName" algorithmSuite="Default"  />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="https://124.225.135.128:4443/OVSWS/VirtualMachineServiceSoapHttpPort"
                binding="basicHttpBinding" bindingConfiguration="VirtualMachineServiceSoapHttp"
                contract="OVM.VirtualMachineService" name="VirtualMachineServiceSoapHttpPort" />
        </client>
         </system.serviceModel>


另外,为了https可以验证成功,需增加下面代码


   public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
        {   // 总是接受  
            return true;
        }

    ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值