You need to sign in to do that
Don't have an account?
カスタムボタン押下時にSFDC上のWebServiceをコールする方法
カスタムボタン押下時のアクションとして、
OnClick JavaScriptを設定し、
JavaScript からSalesforce上に作成したWeb Serviceをコールしたいのですが、
なかなかうまくいきません、
// WebService
global class Hoge {
webservice static Account foo() {
// 適当な処理
}
}
// JavaScript
{!REQUIRESCRIPT('/soap/ajax/10.0/connection.js')}
var envelope =
'<?xml version="1.0"?>' +
'<methodCall>' +
' <methodName>foo</methodName>' +
' <params></params>' +
'</methodCall>';
sforce.connection.remoteFunction({
url : 'https://na7-api.salesforce.com/services/Soap/class/Hoge',
requestHeaders : {'Content-Type' : 'text/xml', 'SOAPAction' : "\"\""},
requestData : envelope,
method : 'POST',
onSuccess : function(response) {
alert('Success' + response);
},
onFailure : function(response) {
alert('Failed' + response);
}
});
上記のソースでカスタムボタンを押下すると、Faultとなり
The SOAP request must use SOAP 1.1, did not recieve a SOAP 1.1 Envelope as the document root
となってしまいます。
どなたかか、sforce.connection.remoteFunctionからSFDC上のWebServiceのコール方法を
ご存じの方がいらっしゃいましたら、ご教授頂きたいです。
やりたいことは、カスタムボタン押下時にSFDC上のWebServiceをコールすること(画面遷移はしない)なので、
remoteFunctionを使わずWebServiceをコールする方法でも構いません。
よろしくお願い致します。
これでどうでしょうか。
apex
JavaScript
All Answers
これでどうでしょうか。
apex
JavaScript
無事カスタムボタン押下時にApexコードを呼び出せました。
Webサービスとかそんな面倒なことやる必要ないんですね。
apex.jsというのがあるのは全然知りませんでした。
完全に盲点でした。
ありがとうございました。