CallOptions
特定のクライアントで使用する必要があるオプションを指定します。このヘッダーは、Partner WSDL で使用する場合にのみ有効です。
API コール
defaultNamespace 要素は、create()、merge()、queryAll()、query()、queryMore()、retrieve()、search()、update()、および upsert() のコールをサポートしています。
client 要素は、上記すべてのコールと convertLead()、login()、delete()、describeGlobal()、describeLayout()、describeTabs()、describeSObject()、describeSObjects()、getDeleted()、getUpdated()、process()、undelete()、getServerTimestamp()、getUserInfo()、setPassword()、および resetPassword() のコールをサポートしています。
項目
| 要素名 | 型 | 説明 |
|---|---|---|
| client | string | |
| defaultNamespace | string |
開発者の名前空間プレフィックスを識別する文字列。この項目を使用して、fieldName をすべての場所で完全に指定することなく、管理パッケージの項目名を解決します。 たとえば、開発者名前空間プレフィックスが battle で、botId というパッケージにカスタム項目がある場合、このヘッダーを設定して、次のようなクエリを正常に行えます。 この場合、実際にクエリされる項目は、battle__botId__c です。 この項目を使用すると、名前空間プレフィックスを指定せずにクライアントコードを作成することができます。この項目を指定しない場合、クエリを正常に行うには、この項目の完全名を使用する必要があります。上記の例では、battle__botId__c を指定する必要があります。 この項目が設定され、クエリが名前空間を指定している場合、レスポンスにはプレフィックスは含まれません。たとえば、このヘッダーを battle に設定し、query("SELECT id, battle__botId__c from Account"); のようなクエリを発行すると、レスポンスは battle_botId__c 要素ではなく、botId__c 要素を使用します。 記述用の API コール (describe) はこのヘッダーを無視するため、名前空間プレフィックスを持つ項目と、プレフィックスのない同じ名前のカスタム項目との間で混乱が生じることはありません。 |
サンプルコード —C#
このサンプルでは、CallOptions ヘッダーの使用方法を示します。クライアント ID および開発者の名前空間プレフィックスを設定します。これは管理パッケージで項目名を解決するために使用します。次に、指定したユーザをログインします。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public void CallOptionsSample()
18{
19 // Web Reference to the imported Partner WSDL.
20 APISamples.partner.SforceService partnerBinding;
21
22 string username = "USERNAME";
23 string password = "PASSWORD";
24
25 // The real Client ID will be an API Token provided by salesforce.com
26 // to partner applications following a security review.
27 // For more details, see the Security Review FAQ in the online help.
28 string clientId = "SampleCaseSensitiveToken/100";
29
30 partnerBinding = new SforceService();
31 partnerBinding.CallOptionsValue = new CallOptions();
32 partnerBinding.CallOptionsValue.client = clientId;
33
34 // Optionally, if a developer namespace prefix has been registered for
35 // your Developer Edition organization, it may also be specified.
36 string prefix = "battle";
37 partnerBinding.CallOptionsValue.defaultNamespace = prefix;
38
39 try
40 {
41 APISamples.partner.LoginResult lr =
42 partnerBinding.login(username, password);
43 }
44 catch (SoapException e)
45 {
46 Console.WriteLine(e.Code);
47 Console.WriteLine(e.Message);
48 }
49}