1

私は「インターフェース」を開発してきました。これは私のクライアントであり、APIを呼び出してXML構造を渡し、別のXMLを受け取ることができます。

私はルートやメソッドなどを作成し、cURLを使用してデータを投稿しようとしています。すべてが魅力のように機能します。

しかし

....Content-Type: text/xml; charset=utf-8リクエストのヘッダーに突然、POST変数に追加すると、もう何もありません。

ここで何が起こっているのかについて何か考えはありますか?

ノート

明らかに私はコードを追加しません。それは非常に単純で、ルート(標準のsymfony2ルート)、メソッド(ダンプPOST)、およびxmlを含む呼び出しで構成されています。
これは呼び出しのコードです

$ch = curl_init();    
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'xxxxxxx:yyyyyy'); //where xxxxxx:yyyyy is setted but now censored
    
curl_setopt($ch, CURLOPT_URL, $this->url); // set url to post to
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf-8")); //without this all works
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->message);

このようなものはどこに$messageありますか(単なる例)

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
 <Message Option="1">Option 1</Message>
</ROOT>

数日間のデバッグや頭痛などの後で、私は自分の一日を作る何かを見つけましたが、それは私には奇妙に聞こえます。

着信リクエストをログに記録すると、何も投稿されていないようです(xmlを投稿しても)。

ただし$logger->debug(__CLASS__.' '.$this->get("request")->getContent());、すべての受信リクエストをログに記録する前に追加すると、次のリクエストは、投稿するすべてのパラメーターとともにログに記録されます。
これは一種の「遅延読み込み」のように聞こえます。したがって、$this->get("request")->getContent()コントローラーを呼び出すことで、要求しているものを取得できます(xmlで投稿されたパラメーター)

誰かが私を理解するのを手伝ってもらえますか?

4

0 に答える 0