2011-05-13 85 views
1

我创建了一个测试WP7应用程序,它使用WCF来获取一些示例数据
我添加了服务作为服务引用以及生成的类。在应用中,我拨打服务:开发WCF服务和Windows Phone应用程序

var service = new TestService.TestServiceClient(); 
       service.GetDataCompleted += new EventHandler<TestService.GetDataCompletedEventArgs>(service_GetDataCompleted); 
       service.GetDataAsync(new TestService.GetDataRequest()); 
从服务调用回调

,我得到以下异常:

There was no endpoint listening at http://localhost:8219/TestService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

内部异常说:

The remote server returned an error: NotFound.

当调试时,cassini dev服务器启动。我可以通过Visual Studio中没有问题,访问来自Internet Explorer中的SVC,看到WSDL等

生成的配置文件:

<?xml version="1.0" encoding="utf-8"?> 
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot"> 
    <behaviors /> 
    <bindings> 
    <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data maxBufferSize=&quot;2147483647&quot; name=&quot;BasicHttpBinding_ITestService&quot;&gt;&lt;security mode=&quot;None&quot; /&gt;&lt;/Data&gt;" bindingType="basicHttpBinding" name="BasicHttpBinding_ITestService" /> 
    </bindings> 
    <endpoints> 
    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8219/TestService.svc&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_ITestService&quot; contract=&quot;TestService.ITestService&quot; name=&quot;BasicHttpBinding_ITestService&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8219/TestService.svc&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_ITestService&quot; contract=&quot;TestService.ITestService&quot; name=&quot;BasicHttpBinding_ITestService&quot; /&gt;" contractName="TestService.ITestService" name="BasicHttpBinding_ITestService" /> 
    </endpoints> 
</configurationSnapshot> 

任何想法?

+0

请在您的文章中包含您的配置。可能配置不好以使用该实际端点。也是同样的解决方案?如果你是发现并将其添加到客户项目中的? – 2011-05-13 08:07:05

+0

这是相同的解决方案。我做了一个发现 – 2011-05-13 08:24:40

+0

你使用什么类型的绑定? – 2011-05-13 08:26:35

回答

0

嗯,这是你失去了很多时间的时候,因为错误信息指出你远离解决方案。

要解决此问题,它是this的组合并重新生成服务引用。我知道这不是一个好的答案,但这就是实际发生的事情

0

您是否尝试过从您正在运行的实际手机/模拟器上访问来自IE浏览器的svc URI?

如果无法执行此操作,请检查手机上的代理设置。
如果是实际的手机,只有通过USB连接到PC才能工作。

我看到了模拟器(出于某种未知原因)停止了能够进行网络连接的问题,即使部署了新代码并运行/调试了新代码。重新启动模拟器解决了这个问题。

+0

创建的自动的嗨!抱歉耽搁了。我使用Windows Phone模拟器,而不是真正的手机。我刚刚尝试将网址粘贴到模拟器的浏览器中,并且可以毫无问题地访问它。任何其他的想法? (我无法通过重新启动模拟器来解决此问题) – 2011-05-18 15:07:49

+0

您是否尝试过使用WebClient.DownloadStringAsync()从应用程序中向URI发出请求,以查看它是网络问题还是您配置服务。 – 2011-05-18 15:38:15

+0

从应用程序内,指定的功能正在返回正确的服务的HTML – 2011-05-19 19:37:07

相关问题