go to post David Hockenbroch · Nov 2, 2021 It looks like where you defined your method, it takes zero arguments. When you're calling it, you're providing two. That would make the event not work properly.
go to post David Hockenbroch · Oct 28, 2021 Is this the process you're looking for? Using the Installer Wizard Step 12 describes activation.
go to post David Hockenbroch · Oct 15, 2021 I was updating code someone else wrote a few years ago, and they had set [Not ProcedureBlock] on the class. I'm not sure why.
go to post David Hockenbroch · Oct 14, 2021 Thank you, Julius! It was that, and my class wasn't ProcedureBlock.
go to post David Hockenbroch · Oct 11, 2021 We've seen this behavior too. Whenever we use Job, we see a license used by the user at their computer's IP address, and we also see the job running as their username@127.0.0.1 because it's executing on the server.
go to post David Hockenbroch · Oct 7, 2021 At the bottom of the pane you showed in your screenshot, there should be a few tabs. If you're on the "Project" tab and haven't added any classes to your project, it would look like that. If you switch it to the "Namespace" tab, you should see everything.
go to post David Hockenbroch · Sep 24, 2021 MAXSTRING usually indicates that you're exceeding the maximum possible length of a string somewhere. Are you sure it's a problem with the %Stream.GlobalCharacter, and not a different string variable in your program? Global character streams shouldn't have that problem. You can see what the maximum length of a string is on your system by opening a terminal and running: write $SYSTEM.SYS.MaxLocalLength()
go to post David Hockenbroch · Sep 24, 2021 One of the properties of the %SOAP.WebClient class is HttpRequest which is an instance of %Net.HttpRequest. You might need to set the content type of that HttpRequest. So where you have "..ContentType", try "..HttpRequest.ContentType"?
go to post David Hockenbroch · Sep 21, 2021 What is the resulting SQLCODE? That should point you in the right direction.
go to post David Hockenbroch · Aug 19, 2021 The maximum URI size in Apache is usually 8,177 characters, but increasing that isn't the problem. Somewhere in your program, the value of your input is getting appended onto the URI, and it shouldn't be. Can you see anywhere that your program might be doing that?
go to post David Hockenbroch · Aug 19, 2021 That's telling you the URL you're requesting is too long, not the request body. If it was the request body that was too big, that'd be a 413, not a 414. If you're getting that when your form contains a very long entry, you're probably somehow converting the request to a get, not a post, request. Can we see the code for your form as well as how it's being submitted?
go to post David Hockenbroch · Jul 27, 2021 What's the definition of mytag? Is it using ByRef? If not, you'll want to add it.
go to post David Hockenbroch · Jul 27, 2021 I've had some time to try this now. Here are steps that worked for me: set myrequest = ##class(%Net.HttpRequest).%New() set myrequest.Server = "<server ip or domain here>" set myrequest.Port = "<server port here if it isn't 80>" set myrequest.Location = "</path/to/rest>" do myrequest.EntityBody.Write("<your json here>") do myrequest.Post() set mydata = myrequest.HttpResponse.Data.Read() At that point, the data returned in the response should be in mydata. Depending on your specific API, you made need to take additional steps for authentication, and you may need to use myrequest.Get() or myrequest.Put() instead of myrequest.Post(). If you need to set parameters, you use the SetParam method of the HttpRequest. For example, if you're using the very most basic way to authenticate to a Cache instance, you do that by specifying a CacheUserName and a CachePassword as parameters as follows any time before your post/put/get: do myrequest.SetParam("CacheUserName","<your username here>") do myrequest.SetParam("CachePassword","<your password here>")
go to post David Hockenbroch · Jul 27, 2021 I'm about to go down the same path here. I have a rough idea of what I need to do. I'm going to try to use the %Net.HttpRequest object and do at least the following steps: 1. Create a new %Net.HttpRequest object set myrequest = ##class(%Net.HttpRequest).%New() 2. Set the server set myrequest.server = "www.whatever.com" 3. Set the locatoin set myrequest.location = "/path/to/rest" 4. Create a global binary stream. 5. Write json data to the stream. 6. Use the stream as the EntityBody for the HttpRequest. 7. Call the get, put, or post method of the HttpRequest object to consume. 8. Use the HttpRequest's HttpResponse object to check the response
go to post David Hockenbroch · Jul 21, 2021 If your other system is also a Cache or IRIS server, there is a mirroring options called a reporting async that exists for this specific purpose. If you've got multiple servers and need to consolidate that data for reporting purposes, a reporting async can be a part of up to 10 mirrors to help you bring that data together, too.
go to post David Hockenbroch · Jul 20, 2021 Sam, thanks, that solves the first part! Any idea how to make it show the item number somewhere no matter what drill down level I'm at?
go to post David Hockenbroch · Jul 19, 2021 Somewhere in your button tag, you have onselect= something. Buttons don't have an onselect, but even if they did, I'm guessing that's not the event you actually want. onselect happens when a user highlights text within a control, like in a text input. If you're trying to set what happens when the user clicks the button, that's onclick. If you're trying to set what happens when the user selects the button but doesn't click it (say by pressing tab until the button is highlighted) that's onfocus.
go to post David Hockenbroch · Jul 15, 2021 It looks to me like the data returned in the HTTP response might not be proper JSON. Do you have that data for us to see?
go to post David Hockenbroch · Jul 13, 2021 ObjectScript variables are untyped, so preserving the type isn't necessary. You'll build the list by adding your MyPackage.MyClass objects to it, then you'll return the %ListOfObjects, then you'll use that list's methods to manipulate those objects. For instance, set mything = mylist.GetAt(1) will give you an object that is identical to the MyPackage.MyClass object you put in the list with all of its properties an methods.