我通过此命令生成了一个代理-
svcutil.exe/language:cs/out:generatedProxy.cs/config:app.config https://service100.emedny.org:9047/MHService?wsdl

然后将元素从生成的app.config复制到现有项目的app.config文件中。

当我尝试通过以下方式访问该配置文件中的客户端时:

MHSClient serviceProxy =新的MHSClient(“MHSPort”);

它应该引用下面的第二个客户端:

  <client>
  <endpoint address="https://webservices.hmsa.com/EDI27X/cstc/Hipaa27XService.svc"
            binding="customBinding"
            bindingConfiguration="wsHttpEndpoint"
            contract="HIPAA27XServiceContract"
            name="wsHttpEndpoint" />
  <endpoint address="https://12.23.28.113:9047/MHService"
            binding="customBinding"
            bindingConfiguration="MHService_MHSPort"
            contract="MHS"
            name="MHSPort" />
</client>

但是我得到了错误;

在ServiceModel客户端配置部分中找不到名称为“MHSPort”且契约(Contract)为“MHS”的终结点元素。这可能是因为找不到您的应用程序的配置文件,或者是因为在客户端元素中找不到与该名称匹配的端点元素。

如果我去定义MHSClient,它将带我到proxy.cs文件和这一行;
公共(public)局部类MHSClient:System.ServiceModel.ClientBase,MHS

解决以下问题
endptAddress =新的EndpointAddress(新的Uri(“uri”/xxxx“),EndpointIdentity.CreateDnsIdentity(” xxxxxx“),addressHeaders);
MHSClient serviceProxy =新的MHSClient(b,endptAddress);

最佳答案

解决以下问题
endptAddress =新的EndpointAddress(新的Uri(“uri”/xxxx“),EndpointIdentity.CreateDnsIdentity(” xxxxxx“),addressHeaders);
MHSClient serviceProxy =新的MHSClient(b,endptAddress);

当从配置文件中询问端点地址时,@ Guanxi给了我提示。一旦创建了端点地址,就可以使用正确的重载实例化/创建服务。
var b = new CustomBinding()作为第一个参数,第二个参数,
正确的端点地址。
复杂-WS-Security-Web服务的各种.NET和Visual Studio实现环境中的IBM Websphere服务器互操作 wcf客户端...哦,我的

10-07 23:33