2010年4月22日木曜日

記事(openGionの技術解説 JavaからOpenOfficeを制御する)を公開しました。

題名通り。

記事へのリンク → ここ

サーバーサイトでのOpenOfficeの利用はかなり面白いと思う。
前に紹介したopenmeetingsも、ExcelやPowerPointをPDFに変換するところまでは、OpenOfficeを利用している。

マルチスレッド処理には問題があるけど、回避方法はあるので、結論として、パフォーマンスの問題は大丈夫そう。

クライアントサイドでの利用は、"いまさら"なので、これからは、ドキュメント編集・変換サービスのツールとして、もっと普及していけば面白いなぁと思う。

2010年4月15日木曜日

openGionのTipsを編集中

openGionのTipsをがんばらない程度に編集中。。。

ここから見れます。

もし、興味のある方はどうぞ。。。


# それにしても、ドキュメントの作成は(精神的に)結構大変。

2010年4月9日金曜日

JAX-WSベースのクライアントから、RubyなWebサービスに繋ぐ

Java6から追加された JAX-WS(Java API for XML-Based Web Services) をベースとしたクライアントから、Rubyで構築されたWebサービスに繋ぐと、見事にExceptionが吐かれた。

調べてみると、原因は、Content-typeのcharset。

クライアントから送信される際のcharsetは、
charset:"utf8"
となっている。

一方、ruby側は、大文字の「UTF-8」しか受け付けてくれない模様。

さらに、JAX-WSのあたりを調べてみると、charsetはソース直書きの固定(外から設定しても、最終的に全て置き換えられる)ので、どうしようもない。

結局、URLConnectionオブジェクトを作って、SOAPActionやら、Envelopを自前で作って接続。→あっさり接続できた。

# SOAPは、以外と実装言語ごとに微妙に送信/受信の仕様が異なることが多い。。
# やっぱりRESTの方が単純だし、こっちの方がいいな。。

JavsScript : 文字列をJSONオブジェトに変換する

PlainTextをJSONオブジェクトに変換する方法

var json = eval( "(" + str + ")" )

JSON形式の文字列(str)を()で囲った上で、eval()すれば、jsonオブジェクトとして変換される。

以上!

jQueryからJSP/ServletなページにAjaxリクエストを投げると日本語が文字化けする。

結構はまりました。

JSP側は、
<jsp:directive.page language="java" contentType="text/html; charset=UTF-8" />
という状態で、jQueryから
$.ajax({...})
すると文字化け。

正確には、GETの場合は、IE、Firefox共に文字化けし、POSTの場合は、IEのみ文字化け。
Firebugで確認する限りでは、文字化けしていないみたい。

色々やってみると、$.ajax({...})のOptionで
,contentType: "application/x-www-form-urlencoded; charset=UTF-8"
と指定することで文字化けが解消された。

指定しない場合は、charsetの指定はされないようなので、これを明示することで解決。
# 何故わざわざ指定する必要があるのかは、ちょっと腑に落ちないけど。。