我在客户端的服务器上运行了一个Web服务。当我通过服务器上的远程桌面访问它并输入参数时,它可以工作。当我从我的计算机访问它并输入参数时,它可以正常工作。当我从连接到我的计算机的手持设备上的应用程序访问它时,Web方法抛出
{System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException:
Server was unable to process request. ---> System.Data.OracleClient.OracleException:
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
设备未连接到数据库,它只是调用Web服务并将参数传递给它。我还创建了一个测试方法,它只是将参数返回给设备而不连接到DB,并且传递的参数很好。
这让我发疯,我不知道这是怎么回事。有人有任何想法吗?
编辑:工作互联网已经死亡,问题显而易见。问题实际上是从设备调用我的本地开发版服务。我不知道为什么。这是服务构造函数的代码(派生自SoapHttpClientProtocol):
public Service1() {
this.Url = "LOCAL (WRONG) URL";
}
执行此代码:
server.Service1 s1 = new server.Service1();
s1.Url = "CLIENT (CORRECT) URL";
string test = s1.TestMethod(parameters);
在第一行之后,s1.Url当然是错误的网址。在第二行之后,s1.Url是正确的URL。然而,第三行连接到错误的开发服务!我只是注意到了这一点,因为我的互联网已经死了,与客户端服务器的连接应该失败了,但它仍在继续工作......试图弄清楚为什么会这样。