以Invoking Mirth Connect CLI with Powershell script作为参考,我们在Docker容器上遵循这些说明,尽可能地对其进行翻译,但我们现在收到此错误消息,似乎与Java有关。
“错误:无法找到或加载主类com.install4j.runtime.launcher.UnixLauncher”
尝试了一些Java环境变量,但还没有成功。还尝试了将zip 4J库放在mirth的custom-lib文件夹中。
任何帮助都很好。
以Invoking Mirth Connect CLI with Powershell script作为参考,我们在Docker容器上遵循这些说明,尽可能地对其进行翻译,但我们现在收到此错误消息,似乎与Java有关。
“错误:无法找到或加载主类com.install4j.runtime.launcher.UnixLauncher”
尝试了一些Java环境变量,但还没有成功。还尝试了将zip 4J库放在mirth的custom-lib文件夹中。
任何帮助都很好。
3条答案
按热度按时间9w11ddsr1#
它为我工作,绕过install 4j的东西。我有一个自定义的docker图像,但这个或类似的东西应该与您的工作。
如果容器的java二进制文件不在你的路径中,你需要指定完整的路径,install 4j的主要工作是为你找到它,-w选项是工作目录,应该指向容器中安装mirth的位置。
上面的命令是交互式运行客户端。要传递脚本文件,您可以将本地文件Map为卷。
lx0bsm1f2#
对于任何试图恢复或修改通道配置的人,我发现最好的方法是使用REST API。您可以使用Postman尝试设置,并立即在Mirth中看到结果。对于我们的用例,使用Mirth配置容器及其相应的配置,使用REST API工作起来非常有魅力。所有API选项的列表都可以从Mirth获得。在左边有一个文档的链接,里面有一些例子和字段,可以用来测试 Postman 。2希望这对你有帮助。
hi3rlvi23#
碰撞一个古老的线程,因为我也有麻烦自动导入通道到一个码头集装箱。
我的解决方案是使用wget和curl来利用API。
确保在运行Docker时为Mirth连接容器声明一个名称:
sudo docker run -d --name mirth-container-name -p 8443:8443 -p 6661:6661 nextgenhealthcare/connect
然后使用wget将通道xml拉到Docker容器中的temp文件夹中:
sudo docker exec mirth-container-name wget -q –auth-no-challenge –header='Accept:application/octet-stream' "https://raw.githubusercontent.com/marlycormar/mirth-connect-channel-examples/master/channels/json_to_hl7_dest_channel_writer/channel.xml" -O /tmp/channel.xml
然后使用curl将通道导入到mirth connect中:
sudo docker exec mirth-container-name curl --insecure -X POST "https://admin:admin@localhost:8443/api/channels" -H "accept: application/json" -H "Content-Type: application/xml" -H "X-Requested-With: OpenAPI" -d @/tmp/channel.xml
最后使用curl重新部署所有通道:
sudo docker exec mirth-container-name curl --insecure -X POST "https://admin:admin@localhost:8443/api/channels/_redeployAll" -H "accept: application/xml" -H "X-Requested-With: OpenAPI"