我的WCF Web服务(svc-file)在尝试使用json发送数据时返回Request Error,包括æ,ø,å等丹麦字符。
在我的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中更改某些内容?
答案 0 :(得分:0)
这就是我的所作所为:
我没有在NSData中发送请求数据,而是发送一个字符串并将其设置为使用NSUTF8StringEncoding。
[request setHTTPBody: [requestDataString dataUsingEncoding:NSUTF8StringEncoding]]