2014-01-17 2 views
0

У меня есть следующие классы:NServiceBus с WCF на Azure

namespace GAT.Cloud.Integration.WebServices { 
    public class DepartureUpdatedService : WcfService<DepartureUpdated, ErrorResponse> { 
    } 
} 

И

namespace GAT.ESB.Messages.Integration { 
    [Serializable] 
    public class DepartureUpdated : ICommand { 
     public Departure Departure { get; set; } 
     public DepartureSeries DepartureSeries { get; set; } 
    } 
} 

И

namespace GAT.Cloud.Integration.Responses { 
    public enum ErrorResponse { 
     None, 
     Fail 
    } 
} 

И следующий фрагмент кода в app.config

<system.serviceModel> 
    <services> 
     <service name="GAT.Cloud.Integration.WebServices.DepartureUpdatedService" behaviorConfiguration="Default"> 
      <endpoint address="http://<something>.cloudapp.net/WebHttpService/" binding="basicHttpBinding" contract="NServiceBus.IWcfService`2[[GAT.ESB.Messages.Integration.DepartureUpdated, GAT.ESB.Messages.Integration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[GAT.Cloud.Integration.Responses.ErrorResponse, GAT.Cloud.Integration.Responses, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]" /> 
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />     
     </service> 
    </services> 

Я получаю две ошибки:

The 'contract' attribute is invalid - The value 'NServiceBus.IWcfService`2[[GAT.ESB.Messages.Integration.DepartureUpdated, GAT.ESB.Messages.Integration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[GAT.Cloud.Integration.Responses.ErrorResponse, GAT.Cloud.Integration.Responses, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' is invalid according to its datatype 'serviceContractType' - The Enumeration constraint failed. 

И

The 'name' attribute is invalid - The value 'GAT.Cloud.Integration.WebServices.DepartureUpdatedService' is invalid according to its datatype 'serviceNameType' - The Enumeration constraint failed. 

Я понятия не имею, что это неправильно с этим. У кого-нибудь есть идеи? Кроме того, правильно ли он настроен для отображения на http://<something>.cloudapp.net/WebHttpService/, когда он будет опубликован для Azure в качестве облачного сервиса?

ответ

0

Решение было конечной точкой. Должно быть:

<endpoint address="" binding="basicHttpBinding" contract="NServiceBus.IWcfService`2[[GAT.ESB.Messages.Integration.DepartureUpdated, GAT.ESB.Messages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[GAT.Cloud.Integration.Responses.ErrorResponse, GAT.Cloud.PhoenixIntegration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]" /> 
+0

Я плачу, но я не знаю почему. – Darren

+1

Есть только что-то о NServiceBus.IWcfService'2 [[GAT.ESB.Messages.Integration.DepartureUpdated, GAT.ESB.Messages.Integration, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null], [GAT.Cloud. Integration.Responses.ErrorResponse, GAT.Cloud.Integration.Responses, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null]], что делает его вроде ... um, anti-clean –

Смежные вопросы