問題タブ [mirth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Mirth Connect: Web サービスを呼び出すための JavaScript
Apache 軸ライブラリ (Mirth で展開されることになっている) を使用して、Mirth Channel トランスフォーマー JavaScript から Web サービスを呼び出そうとしています。次の Java スクリプトを使用してみましたが、機能しません。
何か案が?
ありがとう。
hl7 - Mirth Transformer エラー: 要素のプレフィックスがバインドされていません
HL7v3 を HL7v2 に変換しようとすると、次のエラーが発生します。
渡されるメッセージは次のとおりです。
私が得るエラーは次のとおりです。
ERROR-300: Transformer エラー エラー メッセージ: トランス com.webreach.mirth.server.MirthJavascriptTransformerException の評価中にエラーが発生しました: チャネル: v3v2ConversionResponseMessage コネクタ: sourceConnector SCRIPT SOURCE: 行
番号: 5 詳細: TypeError: 要素 "S:Envelope のプレフィックス "S" " はバインドされていません。 com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.evaluateScript(JavaScriptTransformer.java:460) で com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform(JavaScriptTransformer.java:356) で org.mule .transformers.AbstractEventAwareTransformer.doTransform(AbstractEventAwareTransformer.java:48) org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197) org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200) org. org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java: 83) org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:493) の org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:272) の org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:231) の com.webreach .mirth.connectors.vm.VMMessageReceiver.getMessages(VMMessageReceiver.java:207) で org.mule.providers.TransactedPollingMessageReceiver.poll(TransactedPollingMessageReceiver.java:108) で org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:90) ) org.mule.impl.work.WorkerContext.run(WorkerContext.java:290) で edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) で edu. emory.mathcs.backport.java.util.concurrent.java.lang.Thread.run の ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) (不明なソース)
Envelope と Body の前にある S: タグを削除し、名前空間をデフォルトに再定義すると、新しいエラーが発生します
TypeError: 要素タイプ "targetMessage" に関連付けられた属性 "xsi:nil" のプレフィックス "xsi" はバインドされていません。"
これは
その要素の最初の使用と同じ行で定義されている名前空間を Mirth が処理できないかのように。
どんな提案も役に立ちます
e4x - メッセージを上書きする
現在、2 つの宛先があり、最初の宛先は SOAP Web サービスを呼び出します。その宛先の応答を取得したい:
変更可能な XML オブジェクトに変換します。やっている:
ロガー.エラー(メッセージ);
必要に応じて有効なメッセージを表示しますが、そうすると:
msg['S:Body']
何も返しません。
どんな提案も役に立ちます。
java - このメソッドで -61 エラーが発生するのはなぜですか?
これは私が使用している Mirth というアプリケーションにありますが、実際に Base64 でエンコードされているかどうかを確認するメソッドから、Apache Commons ライブラリ内から来ているようです。すべてのドキュメントは唯一の戻り値が true または false であると言っています。
javascript - MirthのアウトバウンドデータベースコネクタでJavascriptを使用してデータベース接続をテストする
channelMapにデータベースハンドルがあり(すべてのメッセージに対して1つの接続用)、すべてのメッセージに対して接続を再利用します。ここで、(MySQLデータベースへの)挿入を実行する前に、接続がまだ存在するかどうかをテストしたいと思います。このテストを実行するにはどうすればよいですか?
hl7 - Mirth:送信者のホストとポートにACKメッセージを送信する方法
静的ホストと動的ポートからラボHL7メッセージを受信しています。受信したメッセージごとに、このホストとポートにACKメッセージを送り返す必要があります。
正しいメッセージが含まれる宛先TCPライターチャネルがあります。ポート番号は固定する必要がありますが。
このメッセージを送信側のホストとポートに送信するようにMirthに指示するにはどうすればよいですか?
よろしくお願いしますAbhi
oracle - Mirth Connect の HL7 テンプレートを取得するには?
私はこの HL7 標準は初めてですが、以前は NCPDP 標準に取り組んでいました。現在、Mirth Connect オープン ソース ツールを調査しようとしています。http://www.mirthcorp.com/community/wiki/display/mirthuserguidev1r8p0/Message+Builderの URL で提供されているドキュメント (ユーザー ガイド) に従って構成しようとすると 、このドキュメントでは次のように言及されています。 HL7 テンプレートを使用します。これらのテンプレートを入手する場所がわかりません。手伝っていただけませんか。
私はインターネットで検索し、テンプレートの例に従って見つけたいくつかのフォーラムを検索しました
MSH|^~\&|MIRTH_1.7|DOMAIN|LABTEST||${date.get('yyyyMMddHHmm')}||ADT^A08|${UUID}|P|1.7|||AL|NE| EVN|A08|${date.get('yyyyMMddHHmm')}|||| PID|||${patno}||${family_name}^${first_name}^${middle_name}^^^^||${d_o_b}|${sex}|||${address1}^${address2 }^${address3}^^^^||${phone}|${emp_phone}||${marital_status}|${religion}||||||||||| PV1||||||||||||||||||||||||||||||||||||||||||
これを使用してチャネルを実行しようとすると、イベントで次の例外が発生します
およびサーバーログ
この問題を解決するために私を助けてください。
ありがとう。学生
java - 配布された証明書を使用して Axis2 XML 署名を生成する方法
多少問題があります。
情報を補完し、外部システムにリクエストを送信できるようにする Web サービスと対話する集中型インターフェイス エンジンがあります。これをこのプロバイダーからの必要なセキュリティと統合する必要があるまでは、これはすべて問題ありません。
彼らは、ソフトウェアがそのシステム (Web サービス) と対話するためにエンド ユーザーが使用する必要があるスマート カード (usb キー) を介して配布される証明書を発行します。彼らは、(場合によっては複数の) 署名がエンドユーザーの USB キーの証明書に対して行われることを主張します。もちろん、秘密鍵はパスワードで保護されています。
最終的にこれらすべてを処理する Axis2 を、エンドユーザーのコンピューターにある証明書に接続するにはどうすればよいですか。
システムはほとんどが Delphi 5 の従来のシック クライアント アプリケーションであり、インターフェイス エンジンは主にデータベースと対話します。これで、単純な TCP ソケットを介してエンド ユーザーのステーションをインターフェイス サーバーに効果的に接続するコードを接続することができました。
----編集----
CXF (Axis から変更) 内のカスタマイズされた署名インターセプターを使用してソリューションを実装しました。このソリューションは、メッセージの内容を署名プロキシに転送し、署名プロキシは、元の要求が発生したユーザー対話型セッションで実行されている適切な署名サービスを見つけて接続します。
Eugene の回答を受け入れました。なぜなら、彼が指定したコンポーネントを使用しなかったにもかかわらず、彼の提案の一般的なガイドラインに従ったソリューションを実装したからです。
USB トークンが原因で、署名がユーザー対話型セッションで行われなければならないという事実を回避することはできません。従来のシステムを使用していたことと、システムを共有環境 (リモート デスクトップ サーバー) で動作させる必要があったため、追加の制約が課せられました。可能性はありますが、Web サービス フレームワークや暗号化ライブラリによって自然にサポートされているわけではありません。
hl7 - デフォルトの ACK フィールド値を変更する Mirth
HL7v2 メッセージを受信する LLP リスナーで Mirth を使用しています。
お客様は、私たちからの ACK メッセージを期待しているため、[Send ACK] ラジオ ボタンをオンにしました。唯一の問題は、デフォルトの ACK で MIRTH を MSH-3.1 フィールドに入れることです。どこから来たかを示すために、これを別の値に変更する必要があります。
これは可能ですか?
java - 古い JAR ファイル コードを実行する Mirth
これは本当に私を夢中にさせています。私が何をしても、Mirth (1.8.2) は私の JAR ファイルの古いバージョンを実行しているようです。次のようなさまざまな兆候があるため、私は知っています。
- どの関数も呼び出せません
- ログに記録された情報がログに表示されない
- 変更されたログ メッセージは、ログ ファイルでは変更されません。
- かつてコードで作成されて書き込まれたが、コードに触れられなくなったファイルは、まだ作成されて書き込まれています
この作業を行うために考えられるすべてのことを試しました。一時は動作していましたが、現在は更新されていないようです。変更を Mirth に統合するプロセスは次のとおりです。
- Ant スクリプトを実行して JAR ファイルをビルドする
- JAR ファイルを \lib\custom にコピーします。
- Mirth サービスを再起動します (Mirth 管理者経由)
再起動を試みました (サービス、Java、コンピューター経由の Mirth サービス) - 役に立ちませんでした。JAR ファイルが正しいことはわかっています。なぜなら、(最新のコードが含まれていることを確認するために) JAR ファイルを逆コンパイルし、(ant でビルドされた JAR のハッシュと比較するために) ハッシュしたためです。ファイルは正しく、コードは存在します。 ; 実行されていないだけです。
私は機知に富んでいます。これはめったに発生しませんが、開発を完全に妨げます。
編集:単体テストを実行すると、適切なファイルが生成され、適切な関数が呼び出され、適切な情報が記録されるため、コードが正しいこともわかっています。マースだけが「わからない」ようです。
私のクラスはとてもシンプルです。単純な 1 つの引数のコンストラクターと、さまざまなデータを返すいくつかのパブリック メソッド。複雑なものはなく、ネストされたクラス/JAR/依存関係もありません。
編集:カスタム JAR ファイルを削除して Mirth を再起動しても、まだコードが実行されています。素晴らしい:/ この質問に報奨金を追加しました。JAR がどこかにキャッシュされているのではないかと思います (彼らは Mirth フォーラムでそれを否定していますが)、そのキャッシュを何らかの方法で消去する必要があります (ただし、なぜ Mirth サービスを再起動しても私の PC がそれを行わないのかは私には理解できません)。
また、Java のすべてのインスタンスを強制終了した (そしてコンピューターを再起動した) ため、JVM が JAR をどこかにキャッシュしている可能性はほとんどありません。
マースを再インストールしてみました。何らかの理由で、最初に管理者を起動したときにカスタム チャネルがありました。そして腹立たしいことに、lib\custom の新しい JAR で更新したにもかかわらず、まだ古い JAR を実行しています。