ウェブサービスを持っています。 Webサービスに接続して3つのパラメータを渡すには、リンゴのコードが必要です。 Objective Cの新機能です。誰でもサンプルコードを提供したり、これを通して私を導くことができますか? StackOverflowでリンクを検索しました。しかし、それらを理解することはできません。アップルのiPhoneでのWebサービス
ありがとうございました。
ウェブサービスを持っています。 Webサービスに接続して3つのパラメータを渡すには、リンゴのコードが必要です。 Objective Cの新機能です。誰でもサンプルコードを提供したり、これを通して私を導くことができますか? StackOverflowでリンクを検索しました。しかし、それらを理解することはできません。アップルのiPhoneでのWebサービス
ありがとうございました。
あなたがNSObjectののクラスを作成し、コードの下で与えられた3パラメータで.hファイル内のメソッドを定義する最初のaksharその後、SOAPメッセージをオーケー使用: - .hファイルで
@interface GetPartParser : NSObject <NSXMLParserDelegate>
{
NSXMLParser *xmlParser;
NSMutableArray *getPartArr;
NSMutableDictionary *item;
NSString *currentElement;
NSMutableString *part_urlStr, *partNameStr;
}
@property (nonatomic,retain) NSMutableArray *getPartArr;
-(void) fetchPartXMLData:(NSInteger)empid:(NSInteger)serid:(NSInteger)seaid:(NSInteger)episodeid;
との.mファイルに: - あなたが
を受け入れたとして、それをマークし、次に好きなら-(void) fetchPartXMLData:(NSInteger)empid:(NSInteger)serid:(NSInteger)seaid :(NSInteger)episodeid
{
NSURL *myURL = [NSURL URLWithString:@"http://webservices.asmx"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: myURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSString *soapMessage = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
"<soap:Body>"
"<GetPart xmlns=\"http://tempuri.org/\">"
"<empid>%d</empid>"
"<serid>%d</serid>"
"<seaid>%d</seaid>"
"<episodeId>%d</episodeId>"
"</GetPart>"
"</soap:Body>"
"</soap:Envelope>",empid,serid,seaid,episodeid];
NSLog(@"soapMessage :%@",soapMessage);
[request addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"http://tempuri.org/GetPart" forHTTPHeaderField:@"SOAPAction"];
NSString *msgLength = [NSString stringWithFormat:@"%d",[soapMessage length]];
[request addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPMethod: @"POST"];
[request setHTTPBody:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *returnedResponse = nil;
NSError *returnedError = nil;
NSData *barData = [NSURLConnection sendSynchronousRequest:request returningResponse:&returnedResponse error:&returnedError];
NSString *barString = [[NSString alloc] initWithBytes:[barData bytes] length:[barData length] encoding:NSUTF8StringEncoding];
NSLog(@"barString :%@",[[barString stringByReplacingOccurrencesOfString:@"<" withString:@"<"] stringByReplacingOccurrencesOfString:@">" withString:@">"]);
NSData* data=[[[barString stringByReplacingOccurrencesOfString:@"<" withString:@"<"] stringByReplacingOccurrencesOfString:@">" withString:@">"] dataUsingEncoding:NSUTF8StringEncoding];
xmlParser = [[NSXMLParser alloc] initWithData:data];
[xmlParser setDelegate:self];
[xmlParser setShouldResolveExternalEntities:NO];
[xmlParser setShouldProcessNamespaces:NO];
[xmlParser setShouldReportNamespacePrefixes:NO];
[xmlParser parse];
}
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
getPartArr =[[NSMutableArray alloc] init];
}
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
NSString * errorString = [NSString stringWithFormat:@"Unable to download story feed from web site (Error code %i)", [parseError code]];
UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@"Error loading content" message:errorString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlert show];
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
{
currentElement = [elementName copy];
if ([elementName isEqualToString:@"part"])
{
item = [[NSMutableDictionary alloc] init];
part_urlStr = [[NSMutableString alloc]init];
partNameStr = [[NSMutableString alloc]init];
}
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if ([currentElement isEqualToString:@"part_url"])
{
[part_urlStr appendString:string];
}
if ([currentElement isEqualToString:@"partName"])
{
[partNameStr appendString:string];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@"part"])
{
[item setObject:part_urlStr forKey:@"part_url"];
[item setObject:partNameStr forKey:@"partName"];
[getPartArr addObject:[item copy]];
}
NSLog(@"item dictionary....%@",partNameStr);
}
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"getPartArr :%@",getPartArr);
}
それはあなたを助け、あなたが望むものを与える...
ok ..ありがとうございます。これを試してみましょう。そして、パラメータが私たちのiPhoneアプリを通じてサービスによって受け入れられるかどうかを知る方法はありますか?私はプロキシ設定を通過する必要があります。このメソッドはそのrtで動作しますか? –
あなたの3つのパラメータを渡すと、サーバーからの応答がNSLogだけの応答を得て、コンソールウィンドウで表示されます... –
その正常に動作します。私はDidRecieve Response rtにNSLogを置くべきですか?認証エラーが発生しています。 PROXYを通過できません... –
NSString *urlString= [NSString stringWithFormat:@"http://demo.xyz.com/proj/webservices/display_records/1/%@%@%@",myid,name,password];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
conn= [[NSURLConnection alloc]initWithRequest:request delegate:self];
if(conn)
{
webdata=[[NSMutableData data]retain];
}
使用defalut接続方法
connとは何ですか?サンプルコードは良いでしょう。ここで物事を試しています。しかし、Webサービスにヒットすることができます。それは正しいサービスを呼び出したかどうかを確認する方法を知らないのですか? XMLとSOAPメッセージを使用しています。 –
その基本。あなたはcode.connから抜け出すことができますNSURLConnection型のオブジェクトです。私たちが近づくように出力を表示することはできますか? –
WS結果を得るためのイベント簡単な方法は次のとおりです。
NSString *urlString= [NSString stringWithFormat:@"http://demo.xyz.com/proj/webservices/display_records/1/%@%@%@",myid,name,password];
NSString *wsRes = [NSString stringWithContentsOfURL:urlStribng encoding: NSUTF8StringEncoding error:nil];
は、あなたがそれを使用しようとしている場合は、エラーハンドリングと、このサンプルを拡張することを検討してください。
詳細を教えてください! –
Search ** "GoogleでのWebサービスの実装方法" ** **ここで直接質問をする前にGoogleで検索してください。 –