Я пытаюсь установить базовое соединение с сервисной шиной Azure с использованием PHP и не может заставить его работать. Я получаю ошибку:Абсолютный URL-адрес запроса HTTP (S) в служебной шине Azure
1: HTTP_Request2 needs an absolute HTTP(S) request URL, 'sb://mynamespace.servicebus.windows.net/myqueue/messages' given
Это код, который я сейчас пытаюсь запустить:
<?php
require_once '../vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;
use WindowsAzure\ServiceBus\Models\BrokeredMessage;
// Create Service Bus REST proxy.
$connectionString = "Endpoint=sb://mynamespace.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=[MyVal]";
$serviceBusRestProxy = ServicesBuilder::getInstance()->createServiceBusService($connectionString);
try {
// Create message.
$message = new BrokeredMessage();
$message->setBody("my message");
// Send message.
$serviceBusRestProxy->sendQueueMessage("myqueue", $message); // this is the line that causes the error
}
catch(Exception $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/windowsazure/hh780775
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
?>
Я не понимаю, где это происходит не так. Кто-нибудь знает, что я могу сделать, чтобы предотвратить эту ошибку?
Благодарим вас за ответ! Я думаю, что использование connectionstring из классического портала устарело. Это решение также не работает, поэтому строитель службы не может получить экземпляр из служебной шины. При использовании моей строки соединения, которая была получена путем создания пространства имен через PowerShell, экземпляр может быть извлечен, однако проблема заключается в том, когда я пытаюсь его отправить. Этот код на самом деле из этого примера. :) – DaveLar
Итак, я пришел к выводу, что это неправильный код php. Я ошибаюсь? – DaveLar