私はiPhone開発には初めてです。私はwsdl2objc Webサービスを使用してクライアント側でプロキシサーバーを生成しようとしています。私はthis tutorialに行き、このチュートリアルを使ってサンプルアプリケーションをやっています。wsdl2objc webserviceから生成されたObjective-Cコードのヘルプが必要です
実際には私は2つの文字列s1とs2を持っています。私は2つの文字列を連結し、ボタンを使ってテキストフィールドに結果を表示する必要があります。 wsdl2objcファイルからコードを生成しました。生成されるクラスの名前はSimpleService
です。
私はiPhoneの開発に慣れていないため、生成されるコードには、使用するクラスを混乱させる多くのメソッドが含まれています。私は正しくコンパイルされたがまだ実行されていないコードを書いています。どこが間違っていますか?次のコードでは、どのような修正を行う必要がありますか?
@implementation WsdlViewController
@synthesize field;
-(IBAction)buttonpressed:(id)sender
{
SimpleServiceSOAP *binding = [SimpleService SimpleServiceSOAP];
binding.logXMLInOut = YES;
SimpleService_concat *testParams = [[SimpleService_concat new]autorelease];
testParams.s1 = field.text; // parameters all become properties of this testParams object
testParams.s2 = field.text;
SimpleServiceSOAPResponse * response = [binding concatUsingParameters: testParams];
[response self];
NSArray * responseBodyParts = response.bodyParts;
NSError *responseError = response.error;
for (id bodypart in responseBodyParts)
{
if ([bodypart isKindOfClass:[SimpleService_concat class]])
{
SimpleService_concat * body = (SimpleService_concat *)bodypart;
field.text = body.s1;
field.text = body.s2;
}
}
}
私はwsdl2objc生成コードを提供しますか?
実際には何が起こりますか?あなたのアプリがクラッシュしますか? –
@vince ya私はボタンを押すとクラッシュし、多くのスレッドを表示します... – crazy2431
ログには良いXMLが送受信されているようですか?トラブルシューティングが難しいと私は同意します。メソッドの先頭にブレークポイントを置き、ブレークポイントがどこにあるかを見るまでステップを実行します。私はいくつかのwsdl2objcチュートリアルを自分で書いています。最新のものはhttp://brismith66.blogspot.com/2011/05/iphone-development-accessing-soap.html – brismith