1

好的,我不想重新打开以前解决的案例,但我无法让它工作。我有两个端点监听来自 TFS 2010 事件服务的事件,一个使用 Web 服务 (ASMX) 构建,一个使用 WCF (SVC)。第一个工作正常。第二个导致 TFS 引发此错误

HistoryId          : 4643911
EndTime            : 4/12/2013 11:40:31 AM
ResultMessage      : There were errors or warnings during notification delivery.

                     0/0 emails delivered.
                     1/2 soap notifications delivered. 
                     1 errors.
                     0 warnings.

                     -------------------------------
                     Notification not delivered.

                     Notification: WorkItemChangedEvent (DeliveryType: Soap; Address: http://[removed]/[removed]/Services/TfsListener.svc)

                     Exception: Microsoft.TeamFoundation.TeamFoundationServiceUnavailableException: Team Foundation services are not available from server 
                     http://[removed]/[removed]/Services/TfsListener.svc.
                     Technical information (for administrator):
                       HTTP code 404: Not Found ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
                        at System.Net.HttpWebRequest.GetResponse()
                        at Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.AsyncWebRequest.ExecRequest(Object obj)
                        --- End of inner exception stack trace ---
                        at Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.ProcessHttpResponse(HttpWebResponse response, Stream responseStream, WebException webException, 
                     XmlReader& xmlResponseReader)
                        at Microsoft.TeamFoundation.Client.TeamFoundationClientProxyBase.ExecWebServiceRequest(HttpWebRequest request, XmlWriter requestXml, String methodName, 
                     HttpWebResponse& response)
                        at Microsoft.TeamFoundation.JobService.Extensions.Core.TeamFoundationNotificationClient.Notify(String eventXml, String tfsIdentityXml, Subscription subscription)
                        at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.SendSoapNotification(TeamFoundationRequestContext requestContext, 
                     TeamFoundationNotification notification, TeamFoundationIdentityService identityService)

JobSource          : d9ee5b23-4aa4-4768-a7fb-4db33ab686d0
JobId              : a4804dcf-4bb6-4109-b61c-e59c2e8a9ff7
QueueTime          : 4/12/2013 11:40:29 AM
ExecutionStartTime : 4/12/2013 11:40:30 AM
AgentId            : 917eb9ee-2622-455c-a6e6-a1c96eeb1666
Result             : PartiallySucceeded

我遵循了我能找到的所有建议,包括TFS 2010 向 WCF 4.0 服务发送 SOAP 警报时出现 404 错误http://www.ewaldhofman.nl/post/2010/08/02/How-to-use-WCF -to-subscribe-to-the-TFS-2010-Event-Service-rolling-up-hours.aspx

还有其他想法吗?

4

1 回答 1

0

好的,搞定了。以下是一些网站缺少的内容:

<service behaviorConfiguration="EventServiceBehavior" name="FullSvcClassName">
   <endpoint address="" binding="wsHttpBinding" bindingConfiguration="EventServiceBinding"
             contract="FullSvcInterfaceName" />
</service>

如果服务名称与您的完整类名(包括命名空间)不匹配,您将获得一个 basicHttpBinding 并且它不起作用。如果您在端点地址中放入任何内容,例如我认为应该提供的相对地址,它将被附加到 URI 的 and 并失败。

我使用 WcfTestClient.exe 和 Fiddler2 来追踪它。享受!

于 2013-04-12T17:53:19.760 回答