在使用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);
答案 0 :(得分:0)
您的类SubscriptionsInfo和NameValuePair没有任何父/子关系,因此您会遇到类强制转换异常。您可以创建List of NamedValuePair而不是subscriptionInfo,如:
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("key", "value"));
然后你可以创建像
这样的数组method.setRequestBody(params.toArray());