2017-05-18 2 views
2

J'utilise actuellement NServiceBus6. Je soumets avec succès un message de mon API Web au point de terminaison qui est le service Windows hébergé. Tout fonctionne correctement dans mon environnement de développement sur ma machine locale. J'utilise "NewtonsoftSerializer" dans toutes mes configurations de terminaux. J'ai maintenant déployé ma solution sur un serveur. Mes services sont maintenant hébergés en tant que services Windows par opposition à une application de console. Service Insight rapporte maintenant une exception NServiceBusDeserialization:Exception de désérialisation NServiceBus après le déploiement

Une erreur est survenue lors d'une tentative d'extraire des messages logiques du message de transport 8221d498-81ca-406e-8ab6-a77701065f1f ---> System.Xml.XmlException: données à la racine le niveau est invalide. Ligne 1, position 1.

Quelques éléments se détachent. R. Je n'utilise pas XmlSerialization. B. Je n'ai aucun problème de sérialisation dans l'environnement de développement. J'apprécierais toute aide fournie merci.

classe Message:

public class CreateSearchRequest : ICommand 
{ 
    public SearchRequest Request { get; set; } 
} 

SearchRequest:

public class SearchRequest : Resource 
{ 
    public string User { get; set; } 
    public string SearchName { get; set; } 
    public SearchCriteriaSimple Criteria { get; set; } 
    public string Status { get; set; } 
    public DateTime RequestBegin { get; set; } 
    public DateTime RequestEnd { get; set; } 
    public int Records { get; set; } 
    public string OutputFileName { get; set; } 
    public string FtpLocation { get; set; } 
    public DateTime CreateDate { get; set; } 
} 

SearchRequestSimple:

public class SearchCriteriaSimple 
{ 
    public string Name { get; set; } 
    public List<Dictionary<string, string>> Criteria { get; set; } 
} 

ressource: Azure classe DocumentDbResource

+0

Cela fonctionne-t-il correctement avec ServiceControl dans votre environnement de développement? –

+0

Cela fonctionne tant que j'héberge le point de terminaison NServiceBus dans une console. J'ai installé le point de terminaison comme un service Windows et je reçois maintenant la même erreur dans mon environnement de développement. – William

+0

Pouvez-vous fournir plus de détails (logs), maye l'envoyer au support chez particulier.net et l'adresse si à Sean Farmar? –

Répondre

0

Je suis gêné de dire. Mais j'ai compris le problème. Au cours du développement dans Visual Studio, j'ai configuré le point de terminaison dans la méthode Task AsyncOnStart() de ProgramService.cs. Il semble qu'une fois que j'installe l'hôte NServiceBus, je dois également fournir une configuration via Endpoint Config. Une fois que j'ai comparé la sérialisation, les problèmes ont disparu.