1

ロイター API からデータを取得する php でアプリを開発しています。SOAP 呼び出しを行う前にリクエスト パラメータを追加しようとしています。リクエストから生成する必要がある xml があります。

<HeadlineMLRequest>
<Filter>
<MetaDataConstraint class="companies"  xmlns="http://schemas.reuters.com/ns/2006/04/14/rmds/webservices/news/filter">
<Value>MSFT.O</Value>
</MetaDataConstraint>
</Filter>
</HeadlineMLRequest>

リクエストパラメータオブジェクトを構築するときにこれを試しました

protected function getRequest() {
$retval->HeadlineMLRequest->MaxCount = 10;
$retval->HeadlineMLRequest->Filter->MetaDataConstraint->class = "companies";
$retval->HeadlineMLRequest->Filter->MetaDataConstraint->Value = "MSFT.O";
return $retval;
}

しかし、最後のxmlリクエストをエコーすると、次のようになります

<ns1:headlinemlrequest>
<ns1:maxcount>
 10
</ns1:maxcount>
<ns1:filter>
 <ns2:metadataconstraint class="companies">
  <ns2:value>
  </ns2:value>
 </ns2:metadataconstraint>
</ns1:filter>

「MSFT.O」で設定したのに値が空であることに気付いた場合、何か助けてください。

4

1 に答える 1

0

PHP SOAP を使用した複雑なリクエストは十分に文書化されておらず、ほとんどの例は基本的なテクニックのみを示しています。

次のことを試してください。

$metaData = '<MetaDataConstraint class="companies" xmlns="http://schemas.reuters.com/ns/2006/04/14/rmds/webservices/news/filter">
<Value>MSFT.O</Value>
</MetaDataConstraint>';

$xmlvar = new SoapVar($metaData, XSD_ANYXML);
$retval->HeadlineMLRequest->Filter->MetaDataConstraint = $xmlVar;
于 2013-03-02T15:14:21.583 に答える