CheckinEvent : SoapException when larger changesets are handled.
Hi,
I have created a wcf service
public interface INotification
{
[OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify", ReplyAction = "*")]
[TransactionFlow(TransactionFlowOption.NotAllowed)]
[ServiceKnownType(typeof(SubscriptionInfo))]
[XmlSerializerFormat(Style = OperationFormatStyle.Document)]
void Notify(String eventXml, String tfsIdentityXml, SubscriptionInfo subscriptionInfo);
}
public class Notification : INotification
{
// [XmlSerializerFormat(Style = OperationFormatStyle.Document)]
void INotification.Notify(String eventXml, String tfsIdentityXml, SubscriptionInfo subscriptionInfo)
{
...
which is triggered when someone check in a limited number of files.
however when someone check in say 15 files I recieve the following error:
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 10/30/2009 7:06:26 AM
Machine: TFSRTM08
Application Domain: /LM/W3SVC/746679083/Root/Services-1-129012745259876352
Assembly: Microsoft.TeamFoundation.Server, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 3920
Thread Id: 4008
Account name: TFSRTM08\tfsServiceDetailed Message: TF200034: A subscriber to a Team Foundation event (subscription ID=X) raised the following exception:
Exception Message: Error in deserializing body of request message for operation 'Notify'. (type SoapException)Exception Stack Trace: at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.TeamFoundation.Server.NotificationClient.Notify(String eventXml, String tfsIdentityXml, SubscriptionInfo SubscriptionInfo)
Thanks,
Per
Answers
After a little modification I received another error indicating that maxStringContentLength with its default length of 8195 was too small.
Setting a higher value for maxStringContentLength solved the problem.- Marked As Answer byPer A Monday, November 02, 2009 2:22 PM
All Replies
- Some additional info App.config content :
<services>
<service behaviorConfiguration="NotificationServiceBehavior" name = "Fls.Tfs.Notification">
<host>
<baseAddresses>
<add baseAddress ="http://localhost/Fls.Tfs.Notification/"/>
</baseAddresses>
</host>
<endpoint
address = "CheckinEvent"
binding = "basicHttpBinding"
contract = "Fls.Tfs.INotification"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="NotificationServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings> After a little modification I received another error indicating that maxStringContentLength with its default length of 8195 was too small.
Setting a higher value for maxStringContentLength solved the problem.- Marked As Answer byPer A Monday, November 02, 2009 2:22 PM


