1

私のWCFWebサービス(svc-file)は、æ、ø、åなどのデンマーク語の文字を含むデータをjsonで送信しようとすると、要求エラーを返します。

私のiOSアプリでは、次のようなリクエストを行っています。

NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];

[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];

私のWCFサービスインターフェイスは次のようになります。

    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle=WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/createNewPost")]
    NewPostReply CreateNewPost(CreatePostCredential createPostCredential);

「æøå」を送信しない場合はすべて正常に動作しますが、「æøå」を含めるとエラーが発生します。

運用契約またはweb.configで何かを変更する必要がありますか?

4

1 に答える 1

0

これが私がすることです:

NSDataでリクエストデータを送信する代わりに、文字列を送信し、NSUTF8StringEncodingを使用するように設定します。

[request setHTTPBody: [requestDataString dataUsingEncoding:NSUTF8StringEncoding]]
于 2012-04-26T19:12:57.193 に答える