簡體   English   中英

WCF rest api-[WebGet]工作,但未找到[WebInvoke(…GET…)]的端點

[英]WCF rest api - [WebGet] working, but endpoint not found for [WebInvoke(…GET…)]

配置任何服務器端的新手...預先感謝您的幫助!

我試圖在VisualStudio2008 / .NET 3.5中獲得一個簡單的HelloWorld REST API; 最終,我將使用它對本地無線局域網上運行的各種移動設備進行CRUD測試數據/結果返回到服務器。

我發現了許多其他問題,誰的答案更改了我app.config的相關部分,但似乎沒有一個適用於此特定問題(反復試驗未產生任何結果)

  • 我的WebGet查詢成功返回了我的數據。
  • 我的WebInvoke api的Get請求返回錯誤“找不到端點”

這是我的服務合同:

[ServiceContract]
public interface IRestService
{
    [OperationContract]
    [WebInvoke(
        Method = "GET",
        ResponseFormat = WebMessageFormat.Xml,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "xml/{id}")]
    string XMLData(string id);  //Implemented as 'return "you requested " + id;'

    [OperationContract]
    [WebGet]
    string Test();              //Implemented as 'return "foobar";'

    [OperationContract]
    [WebGet]
    string Test2(string foo);   //Implemented as 'return "foobar=" + foo;'
}

這是我的app.config

<services>
  <service name="MyRestService.IRestServiceImpl" behaviorConfiguration="MyServiceBehavior">

    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/foo/bar"/>
      </baseAddresses>
    </host>

    <endpoint address ="" binding="webHttpBinding" contract="MyRestService.IRestService" behaviorConfiguration="myRestBehavior" />

  </service>
</services>

<behaviors>

  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>

  <endpointBehaviors>
    <behavior name="myRestBehavior">
      <webHttp/>
    </behavior>
  </endpointBehaviors>

</behaviors>

我正在visualstudio中通過f5運行(我認為這意味着我沒有任何可擔心的.svc / IIS東西?),並嘗試通過

http://localhost/foo/bar/Test
http://localhost/foo/bar/Test2   (  /ParamIgnored if I add one  )
http://localhost/foo/bar/XMLData/123

在我的瀏覽器上。

  • '測試'返回'foobar'
  • 'Test2'返回'foobar ='(無論我添加到URL尾部的是什么'?param'或'/ param'
  • “ XMLData”給出錯誤“找不到端點”(在我的瀏覽器中顯示為html)

非常感謝

您已經覆蓋了要在xml / {id}上訪問的XMLData端點,但是您將其稱為XMLData / {id}。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM