对于Salesforce来说一般来说我是新手,我试图决定如何处理调用SOAP Web服务。目前,当用户点击商机页面上的按钮时,通过AJAX执行web服务。我被要求从按钮中移动web服务调用,并将其放入自定义控制器页面。因此,在满足特定条件时需要无缝调用Web服务,而不是让用户单击按钮。Salesforce - 通过Apex控制器执行Javascript
我想使用相同的ajax语句启动webservice,因为它会节省我的时间。尽管通过Apex调用web服务似乎更有意义,但我仍在研究该主题。所以这里是我的问题:
是否有可能在Apex控制器内执行以下JavaScript?如果是这样如何?
{!REQUIRESCRIPT("/soap/ajax/24.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
var xfolder = "MyNewFolder"
var parentid = "999999999999999"
var myvar = sforce.apex.execute("myWS","invokeExternalWs", {folderName:xfolder,ObjectID:parentid});
window.alert('Folder created: ' + myvar);
看着这个答案可能对我有帮助:http://stackoverflow.com/a/7715982/549141 – 2012-04-27 19:11:02
感谢您的答复。我真的希望有一种方法可以在Apex控制器内执行javascript,而不使用VisualForce。我越想这个控制器版本就越好。我需要无缝地关闭JavaScript,并且我不想在当前进程之间添加一个页面。无论如何,再次感谢您的建议和信息,我将来肯定能够使用它。 – user891859 2012-04-30 14:41:48
不客气。顺便说一下,您实际上并不需要在Apex控制器内执行JavaScript来调用Web服务。你可以在Apex中调用'myWS.invokeExternalWs(folderName,objectId);'。我没有意识到这就是你想要做的。 – 2012-04-30 16:40:09