1


0

私はいつもHTTPS経由であることを意図している.NET WCFサービスを作成しました。 最初にサービススケルトンを作成し、それをHTTP経由で実行したとき、それはうまく機能しました。 PHP 5を使用して、組み込みのSOAP関数との相互運用性をテストしました。 しかし、一度HTTPSに切り替えると、PHPから関数を呼び出そうとすると、「Method Not Allowed」というメッセージと「http」というフォルトコードが返されます。それは私がメソッドのリストを取得することはできますが。 メソッド「Test」を呼び出すと、エラーが発生します。

これがWCFの設定です。


そしてここにPHPがそれを呼んでいる方法があります:

$ client = new SoapClient( "https://192.168.0.3/API.svc?wsdl");エコー "" 。 print_r($ client  - > __ getFunctions()、1) "

"; $ param = new stdClass(); $ param→ A =" 123 "; $ param→ B =" 456 ";試してください\ {$ client→ Test($ param);} catch(例外$ e) \ {死ぬ( "

" print_r($ e、1) "

");}

テストに自己署名SSL証明書を使用していますが、PHPには信頼できる証明書が必要であるとは思われません。

何がおかしいのですか?

1 Answer


1


あなたは実際にどこから要求されたのかを見るためにネットワークスニファを試しましたか? FiddlerやWiresharkのようなもの(シナリオによって異なります)。

また、要素に `behaviorConfiguration =" apiBehavior "`が欠落していることにも注意してください。