调用Salesforce Apex Web服务方法时发生Javascript/SOAP错误
希望有人能解释一下我的一些用户在Salesforce中看到的一个令人讨厌的错误。我们有一个自定义按钮,用于调用包含对Apex web服务的javascript调用的VF页面。一个特定调用失败,并显示错误消息: faultcode:'soapenv:Client',faultstring:'elements的内容必须由格式良好的字符数据或标记组成' 下面是进行调用的javascript方法:调用Salesforce Apex Web服务方法时发生Javascript/SOAP错误,javascript,soap,salesforce,apex,Javascript,Soap,Salesforce,Apex,希望有人能解释一下我的一些用户在Salesforce中看到的一个令人讨厌的错误。我们有一个自定义按钮,用于调用包含对Apex web服务的javascript调用的VF页面。一个特定调用失败,并显示错误消息: faultcode:'soapenv:Client',faultstring:'elements的内容必须由格式良好的字符数据或标记组成' 下面是进行调用的javascript方法: function copyQPP(quoteResult) { var qRecords = n
function copyQPP(quoteResult)
{
var qRecords = new sforce.QueryResultIterator(quoteResult);
if(qRecords.hasNext())
{
$('#StatusMessage').html(' Copying Quotes and Products...');
var qRecord = qRecords.next();
var state = {qRecords : qRecords};
var callback = {onSuccess: copyQPPs, onFailure: optyFailure, source: state};
sforce.apex.execute('OpportunityCopyRenewalService2','copyQuoteFromOpty', {copyType:"COPY", NewOptyId:newOpp ,QuoteId:qRecord.Id}, callback);
}
else
{
updateProducts('');
}
}
下面是正在调用的Apex webservice方法:
webservice static Id copyQuoteFromOpty(String CopyType,Id NewOptyId,Id QuoteId ) {
Id newQuoteId;
try {
newQuoteId=copyRenewQuote(CopyType,NewOptyId,QuoteId, true);
Id[] PPs=new List<Id>();
for (Proposed_Product__c aPP : [Select Id from Proposed_Product__c where Quote__c=:QuoteId Limit 1000] ) {
PPs.add(aPP.Id);
}
List<Id> PPreturn = copyRenewPPs(CopyType,newQuoteId,NewOptyId,PPs);
}
catch (Exception e){
system.debug(e);
}
System.Debug('****************************************************Exiting copyQuoteFromOpty. Returning Quote ID: ' + newQuoteId);
return newQuoteId;
}
正如您从回调定义中看到的,我希望控制转移到copyQPPs函数。相反,当服务方法完成时——并且它成功地完成了,DML不会引发异常——控件将转到optyFailure函数
这只发生在一部分用户身上。与我一起工作的QA分析师使用的是与我使用的IE完全相同的版本:v9.0.8112.16421,但她得到了错误,而我没有。此外,无论她是否在兼容性视图中,都会发生错误。我知道,这只会影响渲染,但我看到了一些奇怪的事情。我怀疑CopyQuoteFrompty web服务中发生了异常,正在由try-catch块处理。因此,newQuoteId在返回时为null
注释掉try-and-catch以查看实际错误。我检查了调试日志。控件从不进入Catch块。如果测试仪使用不同的浏览器怎么办?只是想缩小范围。。。