シンプルな node.js プロキシをセットアップして、投稿を Web サービス (この例では CSW) に送信しようとしています。
リクエストボディにXMLを投稿し、text/xmlを指定しています。-- サービスにはこれらが必要です。
req.rawBody var で生の xml テキストを取得し、正常に動作しますが、適切に再送信できないようです。
私の方法は次のようになります。
app.post('/csw*', function(req, res){
console.log("Making request to:" + geobusOptions.host + "With query params: " + req.rawBody);
request.post(
{url:'http://192.168.0.100/csw',
body : req.rawBody,
'Content-Type': 'text/xml'
},
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);
});
content-type text/xml を使用して、POST で文字列を送信したいだけです。しかし、私はこれを達成できないようです!
「リクエスト」ライブラリ @ https://github.com/mikeal/requestを使用しています
編集 -- おっと!ヘッダーを追加するのを忘れていました...
これはうまくいきます:
request.post(
{url:'http://192.168.0.100/csw',
body : req.rawBody,
headers: {'Content-Type': 'text/xml'}
},
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);