繁体   English   中英

svcutil.exe返回的“ .svc”文件和“ .svc?wsdl”的URL地址不匹配

[英]Mismatch in url addresses for “.svc” file and “.svc?wsdl” returned by svcutil.exe

我有一个在负载均衡器后面的IIS中托管的WCF服务,.svc文件位于以下URL https://my-site-domain-Name.xyz.com/test/Service1.svc中

我可以成功浏览到上面的网址,并通过

“您已经创建了一项服务。

要测试此服务,您将需要创建一个客户端并使用它来调用该服务。 您可以使用以下语法从命令行使用svcutil.exe工具执行此操作:

svcutil.exe https: //服务器主机名.xyz.com / test / Service1.svc wsdl“

注意,我浏览到https://my-site-domain-Name.xyz.com/test/Service1.svc使用域名 ),但svcutil.exe旁边返回的URL指向https:// server-host -name.xyz.com/test/Service1.svc?wsdl使用计算机名

这是预期的行为吗? svcutil.exe是否也应指向此
https://my-site-domain-Name.xyz.com/test/Service1.svc?wsdl

为什么svcutil.exe指向服务器计算机名称而不是域名?

我的绑定定义如下

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

是否因为端点地址=“”(空)?

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

HTTP404。您正在寻找的资源(或其依赖项之一)可能已被删除,名称更改或暂时不可用。 请查看以下网址,并确保其拼写正确。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM