开始按照文档中的
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>
public bool CheckValidationResult(object sender,X509Certificate certificate,X509Chain chain,System.Net.Security.SslPolicyErrors errors) { // 总是接受 return true; } ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。