2011-06-19 26 views
0

xmlファイルをHTTP GETリクエストまたはHTTP putリクエストで送信するにはどうすればよいですか?私は、Restletフレームワークを使用しています。 私はこれに新しい、私が読んだことによると、私はXMLをシリアル化する必要があります。 これを実行した後、HTTPリクエストでどのように送信できますか?Restlet:HTTPリクエストでxmlを送信

+0

どのような種類のサーバーソフトウェアですか? – Michas

+0

restのアーキテクチャに従って、restletを使用しています。 – SLA

+0

あなたの質問の内容とタイトルにこの情報を追加してください。 – Michas

答えて

1

これは、断片を組み合わせたライブラリを使用していなくても、かなりシンプルです(Restletはいくつかの単純化を提供していると思います):HTTP接続/要求と生成機能おそらく、消費する)XML。 Restlet特有のもの(他人が説明できることを望みます)とは別に、単なるスタンドアローンの部分を使ったゲリラのアプローチがあります。

HTTP接続を取得するには、JDKの機能を使用できます(それが機能しない場合は、apache httpクライアントまたはasync-http-clientでより多くの機能を提供できます)。以下のような何か:今

URL url = new URL("http://myservice.mycompany.com:8080/path/to/service"); 
// configure settings here if/as necessary 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
// if you need to post stuff, do: 
conn.setRequestMethod("POST"); 
// need to set content type too possibly 
conn.setDoOutput(true); // but only if you do POST stuff 
OutputStream out = conn.getOutputStream(); 
// here you would output XML request 
//... 
out.close(); 
// and now read response 
InputStream in = conn.getInputStream(); 
// and process it 
// ... 
in.close(); 

は、XMLを消費/生産するとして、あなたは、入力/出力ストリームを使用して/書き込みXMLを読んですべての通常のツールを使用することができます。データバインディング(Java POJOとXML間のやりとり)が好きな場合は、JAXBが(javax.xml.bind。*)に行く方法です。 JDK 1.6以上では、デフォルトの実装がバンドルされています。

また、WoodstoxなどのStax(javax.xml.stream。*)実装を使用して、簡単な呼び出しでXMLを読み書きすることもできます。ボーナスポイントは、このスタイルをかなり簡素化するStaxMateをチェックしてください。

関連する問題