0

こんにちは、salesforce.com プレートフォームの apex で基本的な Web サービスを作成します。ここに apex コードがあります

@RestResource(urlMapping='/gggg')

global with sharing class HelloWorld{

@HttpPost
global static String doPut(){
RestRequest req=RestContext.request;
RestResponse res=RestContext.response;
String body1=req.requestBody.toString();

  return body1;

}


}

Androidを使用してこのサービスにポストリクエストを送信しようとしています。最初に承認してからアクセストークンとリフレッシュトークンを取得し、その後再びaccess_tokenを取得するため、アクセストークンに問題はありません.Androidクライアントのコードは次のとおりです

  URL url1=new URL("https://ap1.salesforce.com/services/apexrest/gggg");
                                    HttpURLConnection connection=(HttpURLConnection) url1.openConnection();
                                    connection.addRequestProperty("Authorization", "OAuth "+str);
                                    connection.setRequestMethod("POST");
                                connection.setDoOutput(true);

                                String jsonbody="[{type:QwikScore_Question_Answer__c ,id:a03900000034MfA ,field:{id:Answer_Text__c,value:1.0}}]";
                                OutputStream st=connection.getOutputStream();
                                st.write(jsonbody.getBytes());
                                st.close();
                                    connection.connect();
                                    BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream()));
                                    String ss="";
                                    String ss1="";
                                    while((ss=reader.readLine())!=null){
                                        ss1+=ss;
                                    }
                                    Log.i("Hello world",ss1);

Hello World の Logcat の出力応答で、出力として "" が得られます。正しい出力が得られない理由を指摘してください。 }] st.write(jsonbody.getBytes()); を送信するため、出力として jsonbody をリクエストの本文として使用します。正しい出力を取得する方法を教えてください??

4

1 に答える 1

0

リクエストでは、content-typeヘッダーを設定しないため、サーバーはペイロードを解析する方法を知りません。

于 2012-07-25T05:11:00.470 に答える