追記:
いつのまにか以下に移動していました.
/usr/bin/WSMakeStubs
WSDLファイルよりスタブのコードが作れます.
/Developer/Tools/WSMakeStubs -x ObjC -dir ${DIR} -name ${Classname} -url ${WSDL_URL}
DIR: コードができるディレクトリ(作っておかないと駄目)
Classname:Stubのクラス名
WSDL_URL: WSDLのURL
4つ作られる.WSGeneratedObj.h WSGeneratedObj.m ${Classname}.h ${Classname}.m
でCocoaApplicationのプロジェクトなどにこれをいれる.(Drug&Drop等)
(このとき“ディティネーショングループのフォルダに項目をコピーする(必要な場合)”にチェックをいれておくとプロジェクトのディレクトリにコピーされる.入れておかないと参照となる.)
#これだけで使える.簡単.
で上記Classnameクラスにスタティックメソッドでサービスができているのでそれを直接利用する.
id result= [Servicename service:param];
ServicenameはWSDLに記述されているものが入るので調べてw.
${Classname}.m中のスタティックメソッドを囲んでいる@implementationにある名称がそれ.
注意:”SOAPAction shall match 'uri#method'"というSOAP内エラーのため,戻り値がNULL/nilでerrorとなるケース
WSMakeStubsのTool version 0.2 (smz) において上記作成されるファイル中でWSGeneratedObj.mの174行目
NSString* soapAction = @"SOAPAction";
はせっかく引数で与えているsoapActionの値をつぶしてしまう.場合によってはコメントアウトが必要.
理由:http://homepage3.nifty.com/hippo2000/perltips/SOAP/Transport/HTTP.htm#DESCRIPTION のon_action()を読んでください.
参考:
ありがとうございました.
http://blog.livedoor.jp/gutskun/archives/7821879.html
0 件のコメント:
コメントを投稿