Ohataさん

すみません、instanceof と同等のメソッドとして、%IsA()メソッドがあります。これは、インスタンスがパラメータに指定されたクラスまたはそのサブクラスかどうかをチェックするものです。

USER>write a.%IsA("Sample.Person")
1

よろしくお願いします。

Ohataさん
こんにちは。

型(クラス名)を取得するには$classname()関数を使用したり、%ClassName()メソッドを使用します。
例えば、

USER> set a=##class(Sample.Person).%OpenId(1)
でaというインスタンスを作成した場合、

USER>write $classname(a)
Sample.Person

USER>write a.%ClassName(1)
Sample.Person

とクラス名が文字列で返ります。

 

Amanoさん、こんにちは。
非同期動作の場合、Serverメソッドを正常終了(quit $$$OK)すると、その後メッセージを受信するとOnClientMessage()が呼ばれます。

Method OnClientMessage(data As %String = "", close As %Integer) As %Status
{
    // メッセージ受信処理
    Quit 1
}

ここで、dataはクライアントから送信されたメッセージが入り、クライアントがWebSocketをcloseすると、closeパラメータに1が入ります。

OnClientMessageの戻り値が1の場合、正常終了とみなされます。
 

Hiroseさん
投稿ありがとうございます。

現状、修正は依頼しているのですが、まだ最新のバージョンには反映されていないようです。
将来的には修正されるかと思います。
よろしくお願いいたします。

Yamadaさん、こんにちは。

日付を変換されている

set array(key)=$zdh(data,3)

に以下のようにtry-catch文を入れてはいかがでしょうか。

try 
   set array(key)=$zdh(data,3)
catch {
   set array(key)=""
}

こうすれば、$zdh()関数にてエラーが発生すると、catch文のブロックが実行されarray変数に空文字が入り、処理が継続されます。もし、arrayにエラーメッセージを入れるのでしたら、catchの後ろに例外変数を入れ、そのNameプロパティを代入してください。

try 
   set array(key)=$zdh(data,3)
catch err {
   set array(key)=err.Name
}


 

橋本さん
ご質問ありがとうございます。

nginxがプロキシサーバとして、443番ポートで受け付け、受け付けたリクエストをnode.js ( 3014ポート )と IRISコンテナ( 9091 ポート )に転送されているということでしょうか。

スマホやPCから反応がないとのことですが、nginxのアクセスログにはログが表示されてますでしょうか?
エラーログは何か表示されてないでしょうか?