[PHP-users 17994]Re: SOAPの使い方。

Seiji Masugata s.masugata @ digicom.dnp.co.jp
2003年 9月 20日 (土) 15:10:05 JST


桝形です。

この手の話題、長引かせてすみません。

補足と追加です。

> > せめて、foreachのワーニングくらいなんとかしてほしい。。。
> > って感じでした。
> > 
> > そういえば、デフォルトが、ISO-8859-1(のはず)だったのでマルチ
> > バイトを渡す時は、渡すデータに応じたエンコーディングを定義
> > するようにして下さい。
> > 
> > 自分は面倒だったので、
> > 
> > //	var $soap_defencoding = 'ISO-8859-1';
> > 
> > 	var $soap_defencoding = 'Shift_JIS';
> > 
> > てな感じで、ライブラリ内部を直接変更しました。

上記を変更した時に一緒に、

//	var $charset_encoding = 'UTF-8';

	var $charset_encoding = 'Shift_JIS';


//				if(eregi('^(ISO-8859-1|US-ASCII|UTF-8)$',$enc)){

				if(eregi('^(ISO-8859-1|US-ASCII|UTF-8|Shift_JIS)$',$enc)){


と、したのを忘れてました。。。はまってたらすみません。

恐らく、EUC-JPとかも同じ手順でいけそうな気も。。。試してはいませんけど。
後、一律fsockopenを@fsockopenに。。。警告がうるさかったんで、つい。

で、最近改変したのが、SSL通信時に、curl経由でアクセスしているのですが
署名書が正しくインストールされてなかったりしていた場合等に、警告の
ポップアップがでますよね?

そういうケースの場合はSSL通信に失敗するので通信ができません。

なので、

function sendHTTPS

内のcurlのオプションをセットしている部分に対して、

		curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,FALSE);

一行追加。これで一応通信はできます。微妙な感じもしますが。

参考にしたURL
http://curl.haxx.se/docs/sslcerts.html

というか、ライブラリをどんどん変更していってどうするんだ。。。
って感じもしなくもないのですが。

> > 
> > 後、SOAP ServerがJava等の場合は、渡すデータ型にも注意した
> > 方がよいです。
> 
> 追加で一点。
> 
> 結果にマルチバイトが戻ってくる場合、そのエンコーディングにも
> 注意した方がよいです。
> 
> 可能であれば、入力・内部・出力エンコーディングはSOAP Serverの
> エンコーディングに合わせた方がよいかも。
> 
> 全然考慮してくれないJava屋さんにかなり苦しめられました。
> 
> しばらくは、JavaのExceptionを見たくない。。。というかException
> くらい、そのまま返さないでハンドリングしてほしい。

--
Seiji Masugata<s.masugata @ digicom.dnp.co.jp>




PHP-users メーリングリストの案内