ホームページ >バックエンド開発 >PHPチュートリアル >私はcurlを使用してインターフェイスに戻り値を取得するように要求しましたが、失敗しました。取得方法を教えてください。
インターフェイスアドレス http://mp.vservice.com.cn/service/OutWebService?wsdl
インターフェイス呼び出し元
callService(String serviceName, String servId, String SecretKey, String xmlInfo)
値を渡すパラメータ名
serviceName :OAuth
servId :サービスアカウントID
secretKey :サービスアカウント秘密鍵
xmlInfo :52b189f45abba88b2989c5c1f30b7a34
gt;3333e3b5dd8bbcaa255f4ea48a6c4ff900c
8edcac60151209924b9c7e8734e08ab8weixin/yixin8e834ee0c20460ea6c2a810d46f3b54c
bc6592463afc4b43e413cc2c6bffd143
これはドキュメントの内容です、サービスアカウントIDとキーは公開されません、curlの使用方法について教えてください。戻り値を取得するには?
ディスカッションへの返信 (解決策)
$servId = 'xxx';
$secretKey = 'xxx';これら 2 つの場所を自分のアカウントに変更してみてください
<?phptry{ $client = new SOAPClient('http://mp.vservice.com.cn/service/OutWebService?wsdl'); $servicename = 'OAuth'; $servId = 'xxx'; $secretKey = 'xxx'; $xmlInfo = '<?xml version="1.0" encoding="UTF-8"?><BaseInfo><servId>333</servId><platform>weixin/yixin</platform><type>info/base</type><redirect_uri>uri</redirect_uri></BaseInfo>'; $result = $client->callService($servicename, $servId, $secretKey, $xmlInfo); var_dump($result);}catch(SOAPFault $e){ echo $e->getMessage(); } ?>
これは明らかに Web サービスへの呼び出しですが、なぜ Curl を使用するのでしょうか
SOAP を使用して取得します。
カールではなく石鹸を使用してください。
$servId = 'xxx';$secretKey = 'xxx';
これらの 2 つの場所をアカウントに変更してみてください
ありがとうございます。しかし、実行すると、メッセージ部分が足りませんというメッセージが表示されました。
解決方法がわかりませんか?
これらの 2 つの場所をアカウントに変更してみてください
ありがとうございます。しかし、実行すると、メッセージ部分が足りませんというメッセージが表示されました。
解決方法がわかりませんか?
wsdl ドキュメントを読んだ後、いくつかのパラメータが欠落していることがわかりました
<?phptry{ $client = new SOAPClient('http://mp.vservice.com.cn/service/OutWebService?wsdl'); $servicename = 'OAuth'; $servId = 'xxx'; $secretKey = 'xxx'; $xmlInfo = '<?xml version="1.0" encoding="UTF-8"?><BaseInfo><servId>333</servId><platform>weixin/yixin</platform><type>info/base</type><redirect_uri>uri</redirect_uri></BaseInfo>'; $result = $client->callService($servicename, $servId, $secretKey, $xmlInfo); var_dump($result);}catch(SOAPFault $e){ echo $e->getMessage(); } ?>