Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Azure Service Bus - Create TopicCreates an Azure Service Bus Topic. Note: This example requires Chilkat v9.5.0.65 or greater.
LOCAL loRest LOCAL lnBAutoReconnect LOCAL lnSuccess LOCAL loSbToken LOCAL lcTopicName LOCAL loXml LOCAL loSbRequestBody LOCAL loSbPath LOCAL loSbResponseBody * Note: Requires Chilkat v9.5.0.65 or greater. * This requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * Make the initial connection. * A single REST object, once connected, can be used for many Azure Service Bus REST API calls. * The auto-reconnect indicates that if the already-established HTTPS connection is closed, * then it will be automatically re-established as needed. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('Chilkat.Rest') lnBAutoReconnect = 1 lnSuccess = loRest.Connect("<yournamespace>.servicebus.windows.net",443,1,lnBAutoReconnect) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest CANCEL ENDIF * ---------------------------------------------------------------------------------------------- * The code above this comment could be placed inside a function/subroutine within the application * because the connection does not need to be made for every request. Once the connection is made * the app may send many requests.. * ---------------------------------------------------------------------------------------------- * Let's load a previously computed SAS token and use it. * See Azure Shared Access Signature for an example to genenerate an Azure SAS token. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbToken = CreateObject('Chilkat.StringBuilder') loSbToken.LoadFile("qa_data/tokens/serviceBusSas.txt","utf-8") * Tell the REST object to use the Azure Shared Access Signature for authorization. loSbToken.Prepend("SharedAccessSignature ") loRest.AddHeader("Authorization",loSbToken.GetAsString()) * ---------------------------------------------------------------------------------------------- * Create a new topic named "gilaMonster"; lcTopicName = "gilaMonster" * Create the XML body of the PUT request. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') loXml.Tag = "entry" loXml.AddAttribute("xmlns","http://www.w3.org/2005/Atom") loXml.UpdateAttrAt("title",1,"type","text") loXml.UpdateChildContent("title",lcTopicName) loXml.UpdateAttrAt("content",1,"type","application/xml") loXml.UpdateAttrAt("content|TopicDescription",1,"xmlns:i","http://www.w3.org/2001/XMLSchema-instance") loXml.UpdateAttrAt("content|TopicDescription",1,"xmlns","http://schemas.microsoft.com/netservices/2010/10/servicebus/connect") loXml.EmitXmlDecl = 0 ? loXml.GetXml() * The XML created by the above code: * <entry xmlns="http://www.w3.org/2005/Atom"> * <title type="text">gilaMonster</title> * <content type="application/xml"> * <TopicDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" * xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" /> * </content> * </entry> * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbRequestBody = CreateObject('Chilkat.StringBuilder') loXml.GetXmlSb(loSbRequestBody) * The path should be set to the to-be-created queue name. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbPath = CreateObject('Chilkat.StringBuilder') loSbPath.Append("/") loSbPath.Append(lcTopicName) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponseBody = CreateObject('Chilkat.StringBuilder') lnSuccess = loRest.FullRequestSb("PUT",loSbPath.GetAsString(),loSbRequestBody,loSbResponseBody) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loSbToken RELEASE loXml RELEASE loSbRequestBody RELEASE loSbPath RELEASE loSbResponseBody CANCEL ENDIF ? "Response Status Code = " + STR(loRest.ResponseStatusCode) * Check for a success response. IF (loRest.ResponseStatusCode <> 201) THEN ? loRest.LastRequestStartLine ? loRest.LastRequestHeader ? loSbResponseBody.GetAsString() ? "Failed." RELEASE loRest RELEASE loSbToken RELEASE loXml RELEASE loSbRequestBody RELEASE loSbPath RELEASE loSbResponseBody CANCEL ENDIF * The response is XML. (See a sample response below..) loXml.LoadSb(loSbResponseBody,1) ? loXml.GetXml() ? "Success." * ----------------------------------------------- * A sample successful XML response: * <entry xmlns="http://www.w3.org/2005/Atom"> * <id>https://chilkat.servicebus.windows.net/gilaMonster</id> * <title type="text">gilaMonster</title> * <published>2016-12-06T23:34:13Z</published> * <updated>2016-12-06T23:34:13Z</updated> * <author> * <name>chilkat</name> * </author> * <link rel="self" href="https://chilkat.servicebus.windows.net/gilaMonster" /> * <content type="application/xml"> * <TopicDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> * <DefaultMessageTimeToLive>P10675199DT2H48M5.4775807S</DefaultMessageTimeToLive> * <MaxSizeInMegabytes>1024</MaxSizeInMegabytes> * <RequiresDuplicateDetection>false</RequiresDuplicateDetection> * <DuplicateDetectionHistoryTimeWindow>PT10M</DuplicateDetectionHistoryTimeWindow> * <EnableBatchedOperations>true</EnableBatchedOperations> * <SizeInBytes>0</SizeInBytes> * <CreatedAt>2016-12-06T23:34:13.483</CreatedAt> * <UpdatedAt>2016-12-06T23:34:13.7</UpdatedAt> * </TopicDescription> * </content> * </entry> RELEASE loRest RELEASE loSbToken RELEASE loXml RELEASE loSbRequestBody RELEASE loSbPath RELEASE loSbResponseBody |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.