我可以浏览网络服务网址,它在浏览器中显示正常。
我可以从网络浏览器中获取?wsdl
。
当我访问该服务时,我得到一个404(小提琴手说:HTTP / 1.1 404 Not Found)
当我使用浏览器访问地址时会写入* .svclog,但是当我使用soap客户端访问地址时则不会写入。
using (ImportServiceClient client =
new ImportServiceClient("ImportServiceSoap12", REMOTE_ADDRESS))
{
我一直在尝试使用baseAddresses和WCFExtras wsdlExtensions。 仍然是相同的404。 我一直在看这个:http://www.jamesgoodfellow.com/blog/post/IIS-60---HTTP-404---File-not-found-Internet-Information-Services.aspx但是因为它是一个XP文件夹不存在,并且它在Web浏览器中工作,并且生成了* .svclog。
我试图让这个东西运行的测试计算机是XP。 通过无IP地址访问计算机。
在WCF之前我通过via解决了这个问题,但我似乎无法在WCF中找到解决方案。
更新
当对该端点执行“配置服务引用”时,我可以从fiddler中观察到一些有趣的事情:
/IntegrationServer/ImportService.svc返回404
/IntegrationServer/ImportService.svc/mex返回200
/IntegrationServer/ImportService.svc?wdsl返回200
更新2
似乎是
/IntegrationServer/ImportService.svc/soap
/IntegrationServer/ImportService.svc/soap12
也有效。这是我的端点配置。
<endpoint name="ImportServiceSoap" behaviorConfiguration="NoIpConfiguration" address="soap" binding="basicHttpBinding" contract="Integration.Server.IImportService"/>
<endpoint name="ImportServiceSoap12" behaviorConfiguration="NoIpConfiguration" address="soap12" binding="wsHttpBinding" contract="Integration.Server.IImportService">
如果我希望在客户端使用自定义端点地址,那么我总是必须将“地址”属性添加到服务地址吗?
答案 0 :(得分:3)
是的,对于自定义端点地址,您需要在端点元素中配置地址属性。
没有看到服务web.config serviceModel元素内容,我猜测该服务被配置为提供两个元数据端点(...?wsdl)和(... / mex)。由于您的问题中显示的端点配置的配置方式(address =“soap”),您的UPDATE 2更改工作。来自MSDN的WCF中的Here is a good explanation of addressing 。