Eduard Lebedyuk · Aug 11, 2023 go to post

Only if it's a collection property:

Class Utils.DynArrayProp Extends%Persistent
{

Property A;Property B As list Of %Integer;/// do ##class(Utils.DynArrayProp).Test()ClassMethod Test()
{
	Do ..%KillExtent()
	Set json = "{""A"":123,""B"":[1,2,3]}"Set dynamicObject = {}.%FromJSON(json)
	Set object = ##class(%ZEN.Auxiliary.altJSONProvider).%UnpackObjectToCOSObject(dynamicObject, $classname())
	Set sc = object.%Save()
	ZW sc,object,^Utils.DynArrayPropD
}
}
Eduard Lebedyuk · Aug 6, 2023 go to post

InitialExpression would be preferable to %OnNew for predefined values.

%OnNew is for cases where you have user input.

Eduard Lebedyuk · Aug 5, 2023 go to post

It is setting headers, yes. But in your previous sample code you were using ..Adapter.Post method which does not take tHTTPRequest.

Eduard Lebedyuk · Aug 1, 2023 go to post

Go to routines and search for *%fm2class* - you should be able to export 5 items available there.

Alternatively, request WRC to provide you an xml file.

Eduard Lebedyuk · Jul 31, 2023 go to post

Also you need to pass your tHTTPRequest as pHttpRequestIn (using Send* methods of the adapter) - as currently none of your headers are sent.

Eduard Lebedyuk · Jul 31, 2023 go to post

When you use DEBUG=1 the request is not actually sent, just displayed, so you get downstream errors, ignore them.

First you need to check your request with DEBUG=1, verify that everything is okay and after that switch to DEBUG=2.

With DEBUG=2 the request is sent (but not displayed) and you get response back (which would be displayed).

Eduard Lebedyuk · Jul 31, 2023 go to post

You need to set

Parameter DEBUG As%Integer = 2;

in adapter, not in BO.

You'll get output on the current IO device (that's why you need to run BO in Foreground Mode), when your code gets to this line:

set tSC = ..Adapter.Post(tURL)
Eduard Lebedyuk · Jul 28, 2023 go to post

I thought the "irispip install *.whl" would install the wheel file.

That is correct. Download pycryptodomex wheel same as you downloaded  pycryptodom wheel, thansfer it to your server and try to install first  pycryptodomex, then  pycryptodom.

Eduard Lebedyuk · Jul 28, 2023 go to post

Assuming you are using EnsLib.HTTP.OutboundAdapter, you can do this:

1. In your adapter set DEBUG flag to 1 or 2:

/// This is the debug flag setting (0 do nothing, 1 show request, 2 show request/response)Parameter DEBUG As%Integer = 1;

2. Start BO in foreground.

Eduard Lebedyuk · Jul 28, 2023 go to post

Download wheel from a computer that does have internet connection and transfer the wheel file into the target system somehow.

Eduard Lebedyuk · Jul 28, 2023 go to post

Why are you building from source? Use wheels:

.\irispip install https://files.pythonhosted.org/packages/3f/a1/72ad8fbeb2630e74fa89622ab24ec0ce46dc93dc172156f1a112eb76c014/pycryptodome-3.18.0-cp35-abi3-win_amd64.whl --target C:\InterSystems\IRIS\mgr\python
Eduard Lebedyuk · Jul 28, 2023 go to post

User must have U on %Ens_MessageContent to view messages, on your screenshot user only has R.

Eduard Lebedyuk · Jul 25, 2023 go to post

No, services are not defined in iris.cpf.

You need to call irissesson from bash/ps/cmd.

Eduard Lebedyuk · Jul 25, 2023 go to post

Try something like this:

  • Response Timeout: 10 (Timeout for getting a response from the server (the timeout for opening the connection to the server is always 5 seconds). Setting the timeout to -1 means wait forever.)
  • Reply Code Actions: E=R (R - Retry the message according to the configured RetryInterval and FailureTimeout; finally Fail unless a different action is also specified.)
  • Retry Interval: 1 (How frequently to retry access to the output system)
  • Failure Timeout: 60 (Total number of seconds to keep trying to deliver the message. After this number of seconds has elapsed, the business operation discards the message data and returns an error code. To ensure that no message is ever skipped, enter a Failure Timeout value of -1, which means 'Never time out'. Use a setting of -1 when complete data delivery is critical, for example in health care applications. )
Eduard Lebedyuk · Jul 22, 2023 go to post

Well, you already have a null check.

To check if the object is locked just try to acquire exclusive lock with no wait, so it's enough to call %AcquireLock.