0

以下は、Webサービスをリクエストするためのコードです。「リストが存在しません。選択したページに存在しないリストが含まれています。別のユーザーによって削除された可能性があります。」というフィードバックが表示されます。

NSString *soapMessage = @"<?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><GetList xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\"><listName>Contact</listName></GetList></soap:Body></soap:Envelope>";

NSString * wsURL = @"http://192.168.11.133/Jason/_vti_bin/Lists.asmx";

NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",wsURL]];
ASIHTTPRequest * theRequest = [ASIHTTPRequest requestWithURL:url];

[theRequest addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
[theRequest addRequestHeader:@"SOAPAction" value:@"http://schemas.microsoft.com/sharepoint/soap/GetList"];
[theRequest setUsername:@"username"];
[theRequest setPassword:@"password"];
 [theRequest addRequestHeader:@"Content-Length" value:msgLength];
 [theRequest setRequestMethod:@"POST"];
 [theRequest appendPostData:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

 [theRequest setDefaultResponseEncoding:NSUTF8StringEncoding];

[theRequest setTimeOutSeconds:20];
[theRequest setDidFailSelector:@selector(onRequestFail:)];
[theRequest startSynchronous];

WebサービスはSharePointからのものです。私のコードは正しいと思います。誰かアドバイスはありますか?ありがとう。

4

2 に答える 2

1

オフトピック:

ASIHTTPRequestはサポートされなくなり、POSTリクエストの場合はクラスになりますASIFormDataRequest

私はもうこのライブラリに取り組んでいないことに注意してください-新しいプロジェクトに何か他のものを使用することを検討することをお勧めします。:)

あなたは次のような代替案をとることができます:

于 2012-10-19T09:16:00.360 に答える
0

これはSharePointの問題であるはずです。IPを直接使用すると、いくつかの問題が発生します。ホスト名をマッピングすることで問題を解決します。

于 2012-10-23T09:56:29.273 に答える