Web services “的url地址不匹配。”;。svc“;文件和";。svc?wsdl“;由svcutil.exe返回

Web services “的url地址不匹配。”;。svc“;文件和";。svc?wsdl“;由svcutil.exe返回,web-services,wcf,wsdl,svcutil.exe,Web Services,Wcf,Wsdl,Svcutil.exe,我有一个WCF服务,它托管在负载平衡器后面的IIS中,.svc文件位于以下URL . 我可以成功地浏览到上面的url并使用 “您已经创建了一个服务 要测试此服务,您需要创建一个客户端并使用它来 调用该服务。您可以使用 具有以下语法的命令行: svcutil.exe“ 请注意,我浏览到(使用了域名),但是svcutil.exe旁边返回的URL指向(使用机器名) 这是预期的行为吗? svcutil.exe不也应该指向这个 为什么svcutil.exe指向的是服务器机器名而不是域名 我的绑定定义如

我有一个WCF服务,它托管在负载平衡器后面的IIS中,.svc文件位于以下URL .

我可以成功地浏览到上面的url并使用

“您已经创建了一个服务

要测试此服务,您需要创建一个客户端并使用它来 调用该服务。您可以使用 具有以下语法的命令行:

svcutil.exe“

请注意,我浏览到(使用了域名),但是svcutil.exe旁边返回的URL指向(使用机器名

这是预期的行为吗? svcutil.exe不也应该指向这个

为什么svcutil.exe指向的是服务器机器名而不是域名

我的绑定定义如下

<endpoint address="" binding="customBinding" contract="App1.IService" bindingConfiguration="myBindingConfig" />

可能是因为终结点地址“”为空吗

现在尝试浏览到svcutil.exe指向的.svc?wsdl地址将返回以下错误

HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确


在web.config中使用选项userequestheadersformetadatadataaddress。例如:

<behavior name="TransmiteMensagemTISSBehavior">
    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
      <useRequestHeadersForMetadataAddress>      
      <defaultPorts>
        <add port="80" scheme="http"/>
      </defaultPorts>
    </useRequestHeadersForMetadataAddress>    
</behavior>