2017-05-18 2 views
2

현재 NServiceBus6을 사용하고 있습니다. 내 웹 API에서 호스팅되는 Windows 서비스 인 끝점으로 메시지를 보내고 있습니다. 내 모든 개발 환경에서 내 로컬 컴퓨터에서 잘 작동합니다. 내 모든 종점 구성에서 "NewtonsoftSerializer"를 사용하고 있습니다. 이제 솔루션을 서버에 배포했습니다. 내 서비스는 이제 콘솔 앱과 달리 Window Services로 호스팅됩니다. 루트 데이터 : 전송 메시지에서 8221d498-81ca-406E-8ab6-a77701065f1f ---> System.Xml.XmlException을 논리적 메시지를 추출하는 동안NServiceBus 배포 후 deserialization 예외

이 오류가 발생했습니다 : 서비스 인사이트 이제 NServiceBusDeserialization 예외를보고 수준이 잘못되었습니다. 라인 1, 위치 1.

몇 가지 항목이 튀어 나와 있습니다. A. XmlSerialization을 사용하고 있지 않습니다. B. 개발 환경에서 직렬화 문제가 없습니다. 감사하다는 말로 감사드립니다.

메시지 클래스 :

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; } 
} 

리소스 : 푸른 DocumentDbResource 클래스

+0

개발 환경에서 ServiceControl을 사용해도 제대로 작동합니까? –

+0

콘솔에서 NServiceBus 끝점을 호스트하는 한 계속 작동합니다. Windows 서비스로 엔드 포인트를 설치했는데 현재 개발 환경에서 동일한 오류가 발생했습니다. – William

+0

자세한 정보 (로그)를 제공 할 수 있습니까, 특정 호스트에서 지원을 보내고 Sean Farmar에게 연락 할 수 있습니까? –

답변

0

난에 당황 말하다. 하지만 그 문제를 알아 냈습니다. Visual Studio에서 개발하는 동안 ProgramService.cs의 Task AsyncOnStart() 메서드에서 끝점을 구성했습니다. 일단 NServiceBus 호스트를 설치하면 Endpoint Config를 통해 구성을 제공해야합니다. 직렬화와 일치하면 문제가 사라졌습니다.