xmlファイルをHTTP GETリクエストまたはHTTP putリクエストで送信するにはどうすればよいですか?私は、Restletフレームワークを使用しています。 私はこれに新しい、私が読んだことによると、私はXMLをシリアル化する必要があります。 これを実行した後、HTTPリクエストでどのように送信できますか?Restlet:HTTPリクエストでxmlを送信
0
A
答えて
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をチェックしてください。
どのような種類のサーバーソフトウェアですか? – Michas
restのアーキテクチャに従って、restletを使用しています。 – SLA
あなたの質問の内容とタイトルにこの情報を追加してください。 – Michas