2015-07-20 82 views
0

我有一個web服務。這是接口:從android執行webservice功能

<ServiceContract()> 
Public Interface IService1 
    <OperationContract()> _ 
    Function SendEmail(EmailAddress As String) As Boolean 
End Interface 

這是SVC文件中的實現:

Public Function SendEmail(emailaddress As String) As Boolean Implements IService1.SendEmail 
    Return Extras.SendEmail(0, 22, emailaddress, "test Email", "Test Email", 0) 
End Function 

現在,我想從我的devextreme應用程序中調用此SendEmail功能。我想這一點,這顯然是行不通的(因此這個問題):

    client = new DefaultHttpClient(); 

       request = new HttpGet(_URL + "/SendEmail([email protected]"); 
       request.setHeader("Accept", "application/json"); 
       request.setHeader("Content-type", "application/json"); 

       httpClient = new DefaultHttpClient(); 
       response = httpClient.execute(request); 
       responseEntity = response.getEntity(); 

任何人都可以請幫我執行從我devextreme應用程序的SendEmail功能?

+0

任何人都可以幫忙嗎? –

回答

0

請按照以下步驟操作。

在第一,界面應該是這樣的:通過config對象

<WebGet> _ 
Public Function SendEmail(emailAddress As String) As Boolean Implements IService1.SendEmail 
    Return DateTime.Now.Ticks Mod 2 <> 0 'Replace with actual code 
End Function 

第三,允許方法的遠程訪問:

Public Interface IService1 
    Inherits IServiceProvider 
    Function SendEmail(EmailAddress As String) As Boolean 
End Interface 

在第二,添加WebGet屬性的方法實現上述InitializeService方法體內:

config.SetServiceOperationAccessRule("SendEmail", ServiceOperationRights.AllRead) 

這就是服務器端。現在可以從JavaScript客戶端調用SendEmail方法。依我之見,你使用datajs庫,但我會建議你使用內置DevExtreme類稱爲ODataContext

new DevExpress.data.ODataContext({ url: "http://your.domain/DataService.svc" }) 
    .get("SendEmail", { emailAddress: "hello" }) 
     .done(handleDone) 
     .fail(handleFail); 

欲瞭解更多信息,請按照文件link

+0

謝謝,我會試試看! –

+0

@HannesduPreez歡迎您。 – seteh