wcf服务 - 用url测试调用方法不起作用而且远程

时间:2012-08-14 19:28:21

标签: visual-studio-2010 wcf wcf-client

我创建了一个WCF服务,该服务返回一行文本,并使用客户端应用程序对其进行测试,并能够检索文本行。我认为,如果我将整个网址放在一个浏览器中,该浏览器包含返回文本行的方法,它将起作用,但我得到一个400未找到的错误。 例如,主网址是:

http://localhost/DataAdmin/GService.svc?wsdl

因此,当我尝试在浏览器中浏览以下内容时,它不起作用:

http://localhost/DataAdmin/GService.svc/RetrieveData?inputText=test

哦,原因是我试图远程测试它。我希望应用程序能够从另一个服务器/域调用该服务。 我认为它可能与配置文件有关。这是我的服务项目的配置文件。

<?xml version="1.0"?>
<configuration>

<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
 <behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

</configuration>

1 个答案:

答案 0 :(得分:2)

不是那么简单。 WCF使用SOAP协议,您不能“只是”传递方法名称和Url中的值。

你可以使用Restfull-API,我指的是this awsome post,它以简单明了的方式告诉所有人。