好吧,我讨厌重新打开以前解决的案例,但我无法让它发挥作用。我有两个端点侦听来自TFS 2010事件服务的事件,一个使用Web Service(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
我已经找到了我能找到的所有建议,包括404 Error when TFS 2010 Sends SOAP Alert to a WCF 4.0 Service和http://www.ewaldhofman.nl/post/2010/08/02/How-to-use-WCF-to-subscribe-to-the-TFS-2010-Event-Service-rolling-up-hours.aspx。
还有其他想法吗?
答案 0 :(得分:0)
好的,搞定了。以下是一些网站缺少的内容:
<service behaviorConfiguration="EventServiceBehavior" name="FullSvcClassName">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="EventServiceBinding"
contract="FullSvcInterfaceName" />
</service>
如果服务名称与您的完整类名(包括命名空间)不匹配,您将获得basicHttpBinding,它将无法正常工作。 如果你在端点地址中放入任何东西,比如我认为应该提供的相对地址,它将被附加到URI的URI并失败。
我使用WcfTestClient.exe和Fiddler2来追踪它。享受!