2011-07-07 5 views
0

XMLの文字列とPHPのデータをXMLが必要な別のサーバーのAPIに送信しています。不正なXMLがcurlコマンドラインから返される

我々はこの

exec("curl http://addressToAPI.com/index.php?xml=$xml", $response); 

$ XMLのようなコマンドラインを介して文字列を送信していると、タグとpringopertiesがAPIに送信された文字列です。

APIは文字列をXMLに細かく処理し、応答を返します。しかし、返された成功または失敗のXMLを含む$レスポンスは、XMLタグを含まない配列として返されます。

残念ながら、サーバはdomxml拡張子を持たないPHP 4.3.9を実行しているため、PHPカールをインストールしていないため、データを文字列として送信しています。私たちは別のサーバーでそれを実行することはできませんし、他のソフトウェアを実行しているためにサーバーをアップグレードできません。

私たちはこのAPIを使用する必要があるので、XMLを文字列として送信することができました(これはうまくいくようです)が、返される応答は文字列またはxmlとして返されません。

すべてのリクエストを記録するときにAPIサーバーがXMLを返すことがわかっており、入力ドキュメントと返されたレスポンスをログに表示できます。

何とかコマンドラインのカールがXMLレスポンスをタグなしの配列に変更しているようです。

私はこれが意味をなさないと思っています。誰かがXML応答を取得してデータを正常に取得できるように知っていますか?

+0

返されたデータと期待どおりのサンプルを見ることなく、誰もこれを把握することができません。どのようにサーバーが最初に正しい出力を生成していることを知っていますか?他の手段でそれを確認しましたか? –

答えて

0

これに対する解決策を見つけました。私はまだ返されたレスポンスが単に文字列の配列であるが、配列要素にタグを含めることができるように管理されているのかどうか不明です。 foreachループを使用して、配列の各キーを文字列の最後に渡します。

私たちは私たちが望む応答をしています。

ご迷惑をおかけして申し訳ございません。それはあなたが望むソリューションを手に入れるまで、コードで遊ぶ必要があったケースの1つと判明しました。

どちらの方法でも、この投稿を読んでいただきありがとうございます。

関連する問題