SOAP 結合テスト

php-soapを使った、SoapClientと、javaでのSoapServerでの結合テストが行われた。こちらは仕様書通りのSOAPメッセージを出しているから、バッチリだろう。そう思っていた。

すると、まずSOAPのバージョンから違った…。俺が実装してたのは、仕様書に載っていたSOAP1.2で、SoapServerが実装してたのはSOAP1.1だった。いきなり仕様書通りじゃないとは!

しかしこちらはクライアントなので、サーバに合わせなければならない。あれをこうして、それをああして、という話を聞いている間に、仕様書には書かれてないSOAPメッセージになった…。

とりあえず、修正したSOAPメッセージを使ったところ、通信できた。まあ一応よかった〜という話にはなったが、じゃああの仕様書は一体なんだったんだろう…。お客さんから届いた仕様書の通りに作ったのに、違いますって言われても…。違うのは仕様書ってことになるやん。その仕様書はお客さんからもらってるんだけど…。

まずは通信ができることを最優先するみたいだが、SOAP1.2を使う予定だったのに1.1で実装しているSoapServerが他のWebAPIで問題になるんじゃないかとヒヤヒヤしている。まあそれもテストをしていればわかることだが。

ちなみにスタブで使ってたphpのSoapServerでは、オプションでsoap_version => SOAP_1_1にして、クライアントはsoap_version => SOAP_1_2にしても、なぜか通信できてたみたい。柔軟に対応してくれるってことか?


タグ PHP, SOAP, 日記 | パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です