3

我已配置客戶端以通過EWS託管API訂閱來自Godaddy託管Exchange 2007 SP1服務器的推送通知。從Godaddy託管交易所未收到Exchange 2007推送通知

我可以成功請求並從GoDaddy的服務器(mail.ex1.secureserver.net)接收訂閱ID,但不會收到任何推送通知。我已聯繫GoDaddy以確保EWS推送通知不被禁用,據他們說,他們不是;所以,這個問題必須在我的聽衆服務中。

我訂閱了DistinguishedFolderIdNameType.inbox文件夾和下列事件:NotificationEventTypeType.NewMailEventCopiedEventCreatedEventDeletedEventModifiedEventMovedEvent

SendNotification方法永遠不會運行:

[WebService(Namespace = "http://microsoft.com/webservices/")] 
public class PushNotificationClient : WebService, INotificationServiceBinding 

    [WebMethod(Description="Creates a push notification subscription")] 
    public string Subscribe(){/* code to subscribe goes here. It seems to work perfectly and I receive a SubscriptionID, Watermark, and no error messages. */} 

    public SendNotificationResultType SendNotification(SendNotificationResponseType sendNotification) 
    { 
     // this never happens 
     WriteEventToLog("SendNotification happened!"); 
    } 
} 

Web服務是在拉訂閱請求(http://my-sub-domain.my-site.com/Service.asmx)指定的URL公開訪問。我已經驗證過,手動發佈到網址可以按預期工作。

我錯過了什麼?

回答

1

我會想象SSL證書不被信任會很重要。嘗試使用http url來訂閱它。從理論上講,您不會通過線路發送敏感數據,因爲如果內存正常運行,您必須回撥以獲取數據。

+0

沒有運氣的http版本。 : - /任何想法,我應該在這裏期待什麼HTTP動詞,以及實際的URL會是什麼? –

+1

這是一段時間,因爲我已經做了EWS的任何事情,但如果內存服務你應該期待一個POST請求到Web服務的URL。您是否在https://www.testexchangeconnectivity.com/上嘗試過資源?這是一個非常有用的微軟資源 –

+0

你是對的,它是一個POST請求。我自己創建了一個模擬POST請求,並將其發送到我的服務器它工作正常,所以看起來GoDaddy只是沒有發送它們(或我的訂閱代碼是錯誤的)。 –