Добрый день.
У меня есть пример, присланный для меня через C # и visual studio.
В этом примере на C # мы извлекаем следующий номер.
Но пытаемсясоздать в PHP Я не могу повторить ту же информацию из служебной шины.Ниже приведен C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;
using System.IO;
using System.Configuration;
using Microsoft.ServiceBus;
using Microsoft.Azure.WebJobs;
namespace ComputeWebJobsSDKServiceBus1
{ { public static void Main()
{string _servicebusconnectionstring = @"Endpoint=sb://travelvision-****.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=****=";
JobHostConfiguration config = new JobHostConfiguration();
config.UseServiceBus(new Microsoft.Azure.WebJobs.ServiceBus.ServiceBusConfiguration()
{ConnectionString = _servicebusconnectionstring});
config.StorageConnectionString = "DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****==;EndpointSuffix=core.windows.net";
config.DashboardConnectionString = "DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****==;EndpointSuffix=core.windows.net";
JobHost host = new JobHost(config);
host.RunAndBlock();
}
}
}
functions.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.ServiceBus.Messaging;
using ExampleForPaul;
namespace ComputeWebJobsSDKServiceBus1
{
public class Functions
{
public static void ProcessSavedCosting(
[ServiceBusTrigger("costingsave")] decimal Seq)
{
Console.WriteLine("Costing #" + Seq);
Console.WriteLine("Writing " + Seq.ToString() + " to DB...");
var Mielie = new ExampleForPaul.SQLFunctions();
Mielie.Insert(decimal.Parse(Seq.ToString()),DateTime.Now,"testTwo");
Console.ReadLine();
}
}
}
Запуск Visual Studio возвращает следующий номер
Теперь пытаюсь скопировать это в PHP, я делаюне получить seq на всех.Но только информация о сообщении.
Body: @decimal3http://schemas.microsoft.com/2003/10/Serialization/�1
sequenceNumber: 71001143
Content Type: application/XML; charset=UTF-8
MessageID: 03ea079c3ecb4d9f832c15ea948e2919
Вот мой PHP-код
<?php
require_once 'vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;
use WindowsAzure\ServiceBus\Models\ReceiveMessageOptions;
$connectionString = "Endpoint=https://****-****.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=****=";
$serviceBusRestProxy = ServicesBuilder::getInstance()->createServiceBusService($connectionString);
try {
// Set the receive mode to PeekLock (default is ReceiveAndDelete).
$options = new ReceiveMessageOptions();
$options->setPeekLock();
// Receive message.
$message = $serviceBusRestProxy->receiveQueueMessage("costingsave", $options);
echo "Body: ".$message->getBody()."<br />";
echo "sequenceNumber: ".$message->getsequenceNumber()."<br />";
echo "Content Type: ".$message->getcontentType()."<br />";
echo "MessageID: ".$message->getMessageId()."<br />";
//print_r($message);
}
catch(ServiceException $e){
$code = $e->getCode();
$error_message = $e->getMessage();
// echo $code.": ".$error_message."<br />";
// View messages.
}