Stamps.com API インターフェイスを自分のプラットフォームに実装しようとしています。SOAP を使用するのはこれが初めてで、ライブラリを有効にするために PHP を再コンパイルする必要がありました。
私は進んでいますが、今私は問題を抱えています。SOAP 1.1 および SOAP 1.2 リクエストをサポートしており、次のコードを実行すると:
$client = new SOAPClient(
'./SWSIM.wsdl',
array(
'trace' => 1
)
);
この後のリクエストに対して、成功したレスポンスが返ってきます。
ただし、soap 1.2 を使用するオプションを次のように追加すると:
$client = new SOAPClient(
'./SWSIM.wsdl',
array(
'trace' => 1,
'soap_version' => SOAP_1_2
)
);
次のエラーが表示されます。
There was an exception running the extensions specified in the config file. ---> Value cannot be null. Parameter name: input
この行は実際には例外をスローしていません。それをスローする次のコマンドですが、soap_versionを削除すると「修正」されます。私は石鹸1.2を使いたいので、当然これは私を悩ませています。
FTR 私が実行しているコマンドは次のとおりです。
$authData = array(
"Credentials" => array(
"IntegrationID" => "MYUID",
"Username" => "MYUSERNAME",
"Password" => "MYPASSWORD"
)
);
try {
$objectresult = $client->AuthenticateUser($authData);
} catch (Exception $e) {
echo "EXCEPTION: " . $e->getMessage();
print_r($e);
exit;
}
WSDL ファイルは、 https ://swsim.stamps.com/swsim/swsimv22.asmx?wsdl で表示できます 。
また、開発者サポートに確認したところ、次のように述べられています。応答の変数。これは、発生している動作に似ている可能性があります。プログラム言語が WSDL をどのように使用するかを確認してください。」
また、__soapCall メソッドが「入力ヘッダー」引数を除いていることにも気付きました。コードでそのメソッドを使用する必要があるか、使用できるかどうかは完全にはわかりません。私はそれで遊んでみるしかないと思います。