我正在尝试使用.NET 4.7.2格式化SOAP中的端点
如果我通过Visual Studio运行本地,我会得到正确的地址格式:服务器
但是当我发布到服务器时,我最终得到的地址是:网站
我已经在Web.config中设置了地址
<services>
<service name="MyNamespace.MyService"
behaviorConfiguration="MyNamespace.behaviorServiceConfig">
<endpoint address=""
binding="basicHttpBinding"
contract="MyNamespace.IMyService"/>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
</services>
在端点地址="”中,我是否还尝试添加/wsdl/IMyService/
我还使用以下代码从地址中删除了Service.svc文件:
<serviceHostingEnvironment
aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true"
minFreeMemoryPercentageToActivateService="0">
<serviceActivations>
<add factory="System.ServiceModel.Activation.ServiceHostFactory"
relativeAddress="./wsdl/MyService/Service.svc"
service="MyNamespace.MyService" />
</serviceActivations>
</serviceHostingEnvironment>
我的目标是获得如下所示的已发布端点地址:您可以在
编辑:
我可以将客户端连接到http://localhost:9999/wsdl,但需要路径为http://localhost:9999/wsdl?/IMyService/
<services>
<service behaviorConfiguration="IMyService.MyServiceBehavior"
name="IMyService.MyService">
<endpoint address="soap" binding="basicHttpBinding" contract="IMyService.MyService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:9999" />
</baseAddresses>
</host>
1条答案
按热度按时间ac1kyiln1#
我通过创建自托管WCF服务使其工作
我在http://localhost:52066/wsdl/IMyService/上有wsdl,客户端可以找到服务,但是当我尝试运行客户端时,它尝试连接到http://localhost:52066/soap/IMyService/失败
当添加地址时,我得到错误,我只能有一个http连接。
我还尝试创建了一个.asmx页面,我无法使其成为自承载的,但我可以连接到那里,这可能是因为我实现了C#Web服务接口,所以它是从MyService-class生成的
谁能给予我点提示