[salesforce]WebサービスAPIを叩くときのサンドボックス→本番移行時の注意点
- WebサービスAPIを叩くには、叩く側の外部のシステムでSalesforce側のWSDLファイルを読み込む必要があります。このWSDLファイルは、本番環境とサンドボックス環境で内容が異なるため、本番移行時には本番のWSDLファイルをダウンロードしなおして読み込む必要があります。具体的には以下の箇所が異なります。
sandbox:
<soap:address location=”https://test.salesforce.com/services/Soap/u/17.0″/>
本番:
<soap:address location=”https://www.salesforce.com/services/Soap/u/17.0″/> - 例えばPHPでWebサービスAPIを叩いている時、WSDLファイルはPHPでキャッシュされています。そのため本番のWSDLファイルに切り替えてもキャッシュが効いてしまいきちんと本番のWSDL情報が反映されない場合があります。キャッシュはデフォルトで1日間きいているようです。対処方法としては、
ini_set(‘soap.wsdl_cache_enabled’, ‘0’);
でWSDLのキャッシュを無効にする方法があります。
参考:http://php.net/manual/ja/soap.configuration.php