问题背景
最近使用C#编写了一个WebService,希望通过Java进行调用。使用Visual Studio 2013调试WebService时,可以在浏览器中通过localhost地址访问WSDL文件。
访问方式如:http://localhost:2256/DataProvider.asmx?WSDL。
但是,当使用http://127.0.0.1:2256/DataProvider.asmx?WSDL或者使用http://[本机IP]:2256/DataProvider.asmx?WSDL时,显示Bad Request错误。
现在希望其他机器访问本机的WSDL文件,所以要求WebService可以使用IP地址访问。
开发环境:
1)Windows 7
2)Visual Studio 2013
配置方法
1)找到<我的文档>/IIS Express文件夹,打开applicationhost.config。
2)在配置文件中找到<sites></sites>标签。
3)<sites>标签内包含许多<site>标签,找到WebService所在的<site>标签,如 <site name="DataProvider" id="2">。
4)在<site>标签内找到<bindings>标签,在<bindings>找到<binding>标签的bindingInformation属性,如bindingInformation="*:2256:localhost"。
5)修改localhost为*。有关bindingInformation的详细信息参考这里。
6)使用管理员权限重新启动Visual Studio 2013。
7)调试程序。
8)结束。
备注
bindingInformation设置方法:
1)如果希望对所有IP绑定80端口,并且不指定host名称,则设置为“*:80:”。
2)如果希望对所有IP绑定80端口,并且指定host名称为microsoft.com,则设置为“*:80:microsoft.com”。
2)如果希望对固定IP(192.168.1.150)绑定8080端口,则设置为“192.168.1.150:8080:”。
与本文类似的文章还有: