2013-04-26 1 views
0

HTTPS를 사용하여 Windows 서비스 버스에 연결하려고합니다. 여기 HTTPS를 통해 Windows ServiceBus에 연결할 수 없습니다.

<appSettings> 
    <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=https://example-service.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=example-shared-secret-value"/> 
    </appSettings> 

가 연결 만들려고하는 코드입니다 : 여기에 내 응용 프로그램의 구성 설정입니다

Unable to create MessagingFactory using connection string. The provided URI scheme 'https' is invalid; expected 'sb'. See inner exception for details. Check your connection string and then try again. For more information please see http://go.microsoft.com/fwlink/?LinkID=249089

그러나

return SubscriptionClient.CreateFromConnectionString(ConnectionString, RequestTopicName, 
                   SubscriptionName, ReceiveMode.ReceiveAndDelete); 

를,이 오류를 던지고, 작동하지 않습니다 그리고 내부 예외 :

제공된 URI 스키마 'https'는 inv 알리다; 예상 'sb'. Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessagingFactory..ctor에서 (IEnumerable을 1 baseAddresses, NetMessagingTransportSettings settings) at Microsoft.ServiceBus.Messaging.NetMessagingTransportSettings.Microsoft.ServiceBus.Messaging.ITransportSettings.BeginCreateFactory(IEnumerable 1 physicalUriAddresses, AsyncCallback 콜백, 객체 상태) Microsoft.ServiceBus.Messaging.MessagingFactorySettings.OnBeginCreateFactory (IEnumerable을 1 uriAddresses, AsyncCallback callback, Object state) at Microsoft.ServiceBus.Messaging.MessagingFactorySettings.BeginCreateFactory(IEnumerable 1 uriAddresses, AsyncCallback 콜백, 객체 상태)에서 에서 1 addresses, MessagingFactorySettings factorySettings, AsyncCallback callback, Object state) at Microsoft.ServiceBus.Messaging.MessagingFactory.BeginCreate(IEnumerable 1 개 주소를 IEnumerable (IEnumerable을 MessagingFactorySettings 설정, 1 addresses, TimeSpan timeout, AsyncCallback callback, Object state) at Microsoft.ServiceBus.Messaging.MessagingFactory.BeginCreate(IEnumerable 1 주소, MessagingFactorySettings의 factorySettings, 시간 범위 제한 시간, AsyncCallback 콜백 개체 상태) Microsoft.ServiceBus.Messaging.MessagingFactory.CreateMessagingFactoryAsyncResult..ctor Microsoft.ServiceBus.Messaging.MessagingFactory.BeginCreate에서 (, TokenProvider tokenProvider, AsyncCallback 콜백, 개체 상태) at Microsoft.ServiceBus.Messaging.MessagingFactory.Creat 전자 (IEnumerable을 1 addresses, TokenProvider tokenProvider) at Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.CreateFactory(IEnumerable 1 엔드 포인트, IEnumerable`1 stsEndpoints, 문자열 operationTimeout, 문자열 issuerName, 문자열 issuerKey, 문자열 도메인 문자열 사용자 SecureString 비밀번호)

나는 SB에게 .EXAMPLE 서비스를 사용하도록 연결 문자열을 변경하는 경우 .servicebus.windows.net 대신 https .example-service.servicebus.windows.net 대신 사용할 수 있지만 실제로 SB 대신 HTTPS를 사용해야합니다.

클라이언트가 'sb'를 (를) 기대하는 이유는 무엇입니까? 어떻게 'https'를 사용하도록 클라이언트를 구성 할 수 있습니까?

답변

0

해결책은 다음과 같습니다. 연결 문자열의 "https"부분을 "sb"로 다시 변경하십시오. "sb"여야합니다. 이제 다음 코드 줄을 추가하십시오 :

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;