2016-04-13 19 views
0

Java Dynamics Online 2016 Azure SDK for Java ile ilgili bir sorunum var. Azure Hizmet Veri Yolu'na bağlanabiliyorum, sıralarda kuyrukları ve ileti sayısını görebiliyorum ancak iletileri alamıyorum. Mesaj Kimliği boş mesaj gövdesi 500 hataCRM Dynamics Online 2016 Azure SDK for Java, 500 hata koduyla BrokeredMessages alır

500 sunucusu isteği işleyemedi içerir; lütfen işlemi tekrar deneyin. Sorun devam ederse, lütfen Servis Otobüsü yöneticinize başvurun ve izleme kimliğini sağlayın. İzlemeAdı: acf8a543-33c9-486d-b13b-443823e6c394_G9, TimeStamp: 4/13/2016 7:26:22 AM. Sorun devam ederse, lütfen Servis Otobüsü yöneticinizle irtibata geçin ve izleme kimliğini sağlayın. TrackingId: acf8a543-33

sorunu çözmek için internette herhangi bir çalışma örneği var mı?

Testi kodu:

@Test 
public void readAllExistedMessagesFromAllQueue() { 
    try { 
     ServiceBusContract serviceBusContract = ServiceBusConfiguration.configureWithConnectionString(null, Configuration.load(), ASB_CONNECTION_STRING).create(ServiceBusContract.class); 

     ReceiveMessageOptions opts = ReceiveMessageOptions.DEFAULT; 
     opts.setReceiveMode(ReceiveMode.PEEK_LOCK); 

     ListQueuesResult result = serviceBusContract.listQueues(); 
     if (result != null && result.getItems().size() > 0) { 
      for (QueueInfo queueInfo : result.getItems()) { 
       logger.debug("queu: " + queueInfo.getPath() + " MessageCount: " + queueInfo.getMessageCount()); 

       for (int i = 0; i < result.getItems().size(); i++) { 
        BrokeredMessage message = serviceBusContract.receiveQueueMessage(queueInfo.getPath(), 
          opts).getValue(); 
        if (message == null) { 
         continue; 
        } 
        System.out.print("__________________________________________"); 
        System.out.println("MessageID: " + message.getMessageId()); 
        System.out.print("From queue: "); 
        byte[] b = new byte[200]; 
        String s = null; 
        int numRead = message.getBody().read(b); 
        while (-1 != numRead) { 
         s = new String(b); 
         s = s.trim(); 
         System.out.print(s); 
         numRead = message.getBody().read(b); 
        } 
        System.out.println(); 
       } 
      } 
     } 

    } catch (IOException e) { 
     logger.error(e); 
    } catch (ServiceException e) { 
     logger.error(e); 
    } 
} 
+0

kodunuzu –

+0

dışarı verin Bu tip bir bağlantı yanıtı 'Tepki Gövde aşağıdaki verir – KarlisAcc

cevap

0
source code ve hizmeti otobüsü javadocs göre Tecrübelerime Başına

, ServiceBusContract doğrudan arayüzüne ServiceBusContract bir örneğini oluşturmak olamayacağını, bir Java arayüzüdür.

Lütfen aşağıdaki kodu "Hizmet Veri Yolu kuyrukları nasıl kullanılır" belgesinin the section Create a queue adresinden kullanmayı deneyin.

Configuration config = 
     ServiceBusConfiguration.configureWithSASAuthentication(
       "<your-servicebus-namespace>", 
       "RootManageSharedAccessKey", 
       "<SAS-key-value>", 
       ".servicebus.windows.net" 
       ); 

ServiceBusContract serviceBusContract = ServiceBusService.create(config); 

Güncelleme

Servis otobüsü sayfanın alt kısmında tıklama yoluyla aşağıdaki düğmeyi bağlantı dizesinde SharedAccessKeyName & SharedAccessKey bulabilirsiniz.

enter image description here

Ardından, aşağıdaki görünümü göstermek ve CONNECTION STRING kopyalayın. enter image description here

Bağlantı dizesi aşağıdaki gibi.

Endpoint=sb://<your-servicebus-namespace>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<SAS-key-value>

bağlantı dizesinin doğru parçasını yerine kod ilgili kısmını kopyalayın.

+0

soruya kod eklendi: 401 yönetme iddiası bu işlem için gereklidir. TrackingId: 92a0330b-a3cb-429f-b57a-4f4afa1490a8_G44, TimeStamp: 4/14/2016 7:34:12 AM ' – KarlisAcc

+0

@KarlisAcc 401 hata kodu, "Yetkilendirme hatası" anlamına gelir. 'Yapılandırma' için doğru sas anahtarını kullanıyor musunuz? Lütfen güncellenmiş içeriğime bakın. –

+0

ASB_CONNECTION_STRING benim "Endpoint = sb: // .servicebus.windows.net /; SharedSecretIssuer = ; SharedSecretValue = ";? ASB – KarlisAcc

İlgili konular