pear::soapで少し調べてみたがあまり情報もなく、これからはsoap拡張モジュールが増えるのでは?と思い、これを使ってSOAPを実行してみる。ただし、先方のSOAPサービスにはWSDLがないので、低いレイヤー(素のXML?)で実装する必要がある!?
とりあえず、php5をsoap対応にするため、--enable-soapを付けて再度コンパイル。。
./configure --with-libxml-dir=/usr/local --enable-mbstring --enable-soap
SOAP拡張モジュールのサンプルは、大抵、WSDLを使っていて、WSDLさえ読み込めばあとはメソッドコールが簡単に行える。が!、今接続しようとしているSOAPサービスにはWSDLがない。。となると、手書きでSOAP BODYを書く必要がある。
どうにでも振り回せるのは、__doRequestメソッドの様で、第一引数にSOAPのエンベロープを作って実行するらしい。例のSOAPの定義をずらずらと手作りする必要がある。もう少し楽なのは、__soapCallであり、Envelope属性が自動的に作られるが、BODYがSOAPの仕様に従って作られるので、接続したいSOAPサービスと一致しない場合は使えない。
(浅い理解の程度の結論)