IBM Mobile First PlatFormバージョン7.1の使用次のコードを使用して、iOSアプリケーションからJavaアダプタをコールしようとしています。IBM MobileFirst iOS SDKからJavaアダプタへのJSON本体の送信
[[WLResourceRequest requestWithURL:url method:WLHttpMethodPost] sendWithJSON:@{@"one":@"two"} completionHandler:^(WLResponse *response, NSError *error) {
NSLog(@"%@",response);
NSLog(@"%@",error);
}];
アダプタ側のJavaメソッドは以下のようになります。
@POST
@Consumes("application/json")
@Produces("application/json")
public String hello(JSONObject body){
return body.toString();
}
しかし、私は
2016年4月20日11応答でエラーが続いてます:31:15.520 MBS-コール[15092:3787968]エラードメイン= com.alamofire.error.serialization.responseコード= -1011 "要求が失敗しました:サポートされていないメディアタイプ(415)" UserInfo = {com.alamofire.serialization.response.error.response = {URL:http:/0.0.0.0:10080/mbs-api/adapters/basicadpt /ユーザー} {ステータスコード:415、ヘッダー{ 接続=閉じる; "Content-Language" = "en-US"; "Content-Length" = 0; 日付= "水曜日、2014年4月20日02:31:15 GMT"; "X-Powered-By" = "Servlet/3.0"; }}、NSErrorFailingURLKey = http://0.0.0.0:10080/mbs-api/adapters/basicadpt/users、com.alamofire.serialization.response.error.data = <>、NSLocalizedDescription =要求が失敗しました:(415)}
サポートされていないメディアタイプをそして、iOS SDKには、それが追加されますようです任意のメソッドが呼び出されると、ヘッダapplication/x-www-url-form-urlencoded
が要求されます。
次の2つの質問があります。
- JSON BodyをJavaアダプタに渡すにはどうすればいいですか?
- の動作
sendWithJSON
の動作は、iOSとAndroidで異なります。 Androidでは、アダプタを呼び出すときにapplication/json
ヘッダを追加するようです。それはバグか行動の一部ですか?