1、Web Service发布外网无法访问的问题
错误信息:The test form is only available for requests from the local machine
INFO:默认情况下禁用 HTTP GET 和 HTTP POST
解决方法:
- 通过编辑 Web 服务所在的 vroot 的 Web.config 文件,可以启用 HTTP GET 和 HTTP POST。以下配置同时启用了 HTTP GET 和 HTTP POST:
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
- 或者,可以通过编辑 Machine.config 中的 <protocols> 节为计算机上的所有 Web 服务启用这些协议。下面的示例启用了 HTTP GET、HTTP POST 及 SOAP,此外还从 本地主机启用了 HTTP POST:
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="HttpPostLocalhost"/>
<!-- Documentation enables the documentation/test pages -->
<add name="Documentation"/>
</protocols>
2、PDA访问web service时,“无法连接到远程服务器” 解决方案
PDA可以访问网络的情况下,运行结果出现异常:无法连接到远程服务器。
主要信息:未处理的“System.Net.WebException”类型的异常出现在system.Web.Services.dll 中。
其他信息: 无法解析此远程名称
解决方案:
PDA项目中添加web service引用的时候,要用实际的机器名或IP地址(非自动获取的ip地址),不要用127.0.0.1或localhost。
还有一点要特别注意:
关闭或处理好防火墙(控制面板>windows防火墙)。
3、iis出现 Server Application Error 错误解决方法
- 个性本地用户和组中的用户的密码,密码要一致。
- 打开DOS窗口,输入“cd C:\Inetpub\AdminScripts“。
- 输入“cscript.exe adsutil.vbs set w3svc/wamuserpass 123456”,你可以替换123456为你刚才在计算机管理处设置的密码,一定要一样的。
-
输入:“cscript.exe synciwam.vbs -v”。
-
出现了“Error:8004E00F”的错误提示,则提示MSDTC没有正常启动的原因,输入“net stop msdtc”,先用“msdtc -uninstall”卸了它,再用“msdtc-install”重新装上,再用“msdtc -resetlog”创建日志文件,最后用“net start msdtc”启动服务,成功。
-
输入:“cscript.exe synciwam.vbs -v”再回车