S13:レセコンORCA/ファイルメーカと連動させる-02

前セクション01で紹介した共有ボリュームを介したやり方は、ファイルのやりとりの時点で即時性が無かったり、ファイルが発生する途中にアクセスするとエラーが発生したりすることがあります。 それを回避するためにHTTPリクエストによるWebAPIを用いた方法でデーターベースにアクセス出来る方法が用意されている様です。 でも私の環境では実現出来ませんでした。 

この説明書には一応JAVA形式のサンプルがちょっとだけ乗ってるんですよ。 私もソースを読むとある程度は構造理解出来るのですが、JAVAの環境を私のマックにセットするのが面倒です。 MacJAVA環境は重いですし、クラッシュした時の復旧手順が面倒ですし、Applescriptを使った抑制がやりにくいです。 定期的にJAVA環境をアップデートするアラートもとても鬱陶しいです。なのでcurlのコマンドベースで実現出来ないかやってみてたんでが、どうもこの通り設定しても上手く動作しないみたいなんですよね。

curlの挙動はバージョンとか、OSの違いとかで結構ばらつきがありますし、ヘッダーの宣言の場所とか、サーバー側のパスワード認証の方法とかでも書き方が微妙に違う事があって、色々やって繋がる条件を探す必要があります。 有名なのはマックだと改行のコードが違うので改行が入ったデーターには注意が必要だったりします。 あと私が使っているcurlはアップルスクリプトのdo shell scriptから行われるcurlなんで、癖があるのかもしれませんね。

JAVAで書かれたソースだと、JAVAが実際にどういう手順でcurlコマンドを出力しているのかが良く解らなくて、この解説書だとその部分が解りにくいんですね。 本来技術書であるならインターネット通信プロトコールの基本となるcurlで書いてほしいものなんですが、いきなりJAVAで書かれているので、よく解らなくてONCのサポートページに質問して見たのですが、要領を得ない返答だったです。 何となくですが、相手の反応からするとJAVAしかプログラム書けない人達なんでしょうかね? curlベースで話しをして欲しいんですが、その話題になると???って感じになってました。 curlコマンドなのに大文字小文字を指定してきたり・・。 JAVAではプログラムを書けてもそのJAVAがどういう仕組みでインターネット通信をしているのかあまり理解していないんでしょうかね?
 

まあ本来はその後自力で自分の環境で動作する方法を探して行くのが大事なんですけど、とりあえず共有ボリュームを使ったやりとりが出来る様になったので、このWeb APIを使ったサーバとのやりとりは今回断念しました。 おそらくこれJAVA環境使ってる人出ないと実現出来ないんじゃ無いかな?

現実的にはこのソースの一回目のHTTP request idTokenは取り出せるので、何かちょっとしたやり方の違いじゃないかと思ってます。
これからオンライン処方箋とかの実装もありそうなので、時間の有るときに今後も色々試してみようと思ってます。