| @技術/プログラミング

「対応した」って高らかに宣言しながら対応してなかったISBN変換プラグインですが、やっと対応させました。ISBN変換プラグイン利用者の方には随分お待たせいたしました。

なんで手こずってたかっていうとSOAPでアクセスしてたからです(元々の開発元の福耳Cafeさんで公開されたときからSOAPでリクエストしてたので)。SOAPはいろんなことが出来る反面、速度がとろいらしく、フツーの人はRESTでリクエストするみたいです。だもんであんまりネットに情報がなくて。Amazon自身もSOAPについてのドキュメントは少なめにしか用意してくれてなくて難儀しました。結局、認証情報はSaopHeaderに埋め込まなきゃいけないっていうところが理解できてなかったわけでした。

// Authentication
$xmlns_aws = 'http://security.amazonaws.com/doc/2007-01-01/';
$kidheader = new soapheader($xmlns_aws, 'AWSAccessKeyId', $this->awsaccess_key_id, false);
$tsheader = new soapheader($xmlns_aws, 'Timestamp', gmdate('Y-m-dTH:i:s'), false);
$sigheader = new soapheader($xmlns_aws, 'Signature', $signature, false);
$soapclient->__setSoapHeaders(array($kidheader, $tsheader, $sigheader));

と書き加えたことで無事動くようになりました。ダウンロードは以下から。