调用Salesforce Web服务(POST方法)

时间:2014-12-25 06:56:03

标签: java list rest authentication post

在使用salesforce调用POST方法Web服务时,我已成功通过OAuth进行身份验证,并且我在REQUEST BODY中传递了2个对象的列表,并且我已经使用了

        method.setRequestBody((NameValuePair[]) siList.toArray());

并返回错误

[Ljava.lang.Object;无法转换为[Lorg.apache.commons.httpclient.NameValuePair;

([Ljava.lang.Object;不能转换为[Lorg.apache.commons.httpclient.NameValuePair;)

SI LIST


SubscriptionsInfo si = new SubscriptionsInfo();
        // get the token from SalesForce
        JSONObject sfToken = this.sftp.getToken(httpClient);
        si.setAssetId(itmInst.getOrigMfrCd() + TmaticwsConstants.ID_SEPERATOR + itmInst.getItmInstNum());
        si.setSrc("05");
        List<SubscriptionsInfo> siList = new ArrayList<SubscriptionsInfo>();
        siList.add(si);

1 个答案:

答案 0 :(得分:0)

您的类SubscriptionsInfo和NameValuePair没有任何父/子关系,因此您会遇到类强制转换异常。您可以创建List of NamedValuePair而不是subscriptionInfo,如:

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("key", "value"));

然后你可以创建像

这样的数组
method.setRequestBody(params.toArray());