从服务器调用时,Web服务会抛出ORA-12505,但不会抛出

时间:2012-04-20 13:01:39

标签: wcf oracle

我在客户端的服务器上运行了一个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。然而,第三行连接到错误的开发服务!我只是注意到了这一点,因为我的互联网已经死了,与客户端服务器的连接应该失败了,但它仍在继续工作......试图弄清楚为什么会这样。

0 个答案:

没有答案