0

テストする必要があるメソッドがあります。コンソールからやりたいです。メソッドとクラスのメタデータを次に示します。

Include HS.Common

Class Custom.class Extends Ens.BusinessOperation
{
    Parameter ADAPTER = "EnsLib.EMail.OutboundAdapter";

    Property Adapter As EnsLib.EMail.OutboundAdapter;

    Method SendMessage(pSubject As %String, pMessage As %String, pEmailAddresses) As %Status
    {
        set tSC=$$$OK
        set tMailMessage=##class(%Net.MailMessage).%New()
        do tMailMessage.To.Insert($PIECE(pEmailAddresses,",",1))
        for tI=2:1:$LENGTH(pEmailAddresses,",") {
            do tMailMessage.Cc.Insert($PIECE(pEmailAddresses,",",tI))
        }

        set tMailMessage.Subject=pSubject
        set tMailMessage.Charset="iso-8859-1"
        set tSC=tMailMessage.TextData.Write(pMessage)
        quit:'tSC
        Set tSC1=..Adapter.SendMail(tMailMessage)
        if 'tSC1 {
            //Log warning about being unable to send mail.
            do $SYSTEM.Status.DecomposeStatus(tSC1,.err)
            $$$LOGWARNING("Could not send email: "_err(err))
            kill err
        }

        quit tSC
    }

    ...other methods here...

}

しかし、このコマンドを実行すると:

set tResult = ##class(Custom.class).SendMessage("Test Subject","Test Message","my@email.com")

次のエラーが表示されます。

 Set tSC1=..Adapter.SendMail(tMailMessage)
 ^
<NO CURRENT OBJECT>zSendMessage+11^Custom.class.1

メソッドを呼び出す前に、プロパティ定義と同じようにアダプターをインスタンス化しようとしましたが、うまくいきませんでした。 コンソール セッションからこのメソッドを呼び出すにはどうすればよいですか?

4

1 に答える 1