This component simplifies the process of connecting salesforce.com's Web service (SOAP) API.

The component takes the salesforce credentials as part of its configuration. This is used to get the session ID which is required to perform operations on SalesForce API. If the session expires, the component fetches a new session ID.

Most of the properties used by the component like the ones for Basic authentication, SOAP compression are similar to WebServiceConsumer component. For a detailed description of those properties, please refer the WebServiceConsumer4.0 section.

Configuration

Connection configuration


Figure 1: Connection configuration section

WSDL Configuration

Enterprise WSDL must be configured when standard salesforce operations like query, insert, update, upsert etc. have to be invoked.

To invoke Apex operations, the property "Is Apex" should be set to "yes" and the WSDL corresponding to the Apex operations must be specified here.


Figure 2: WSDL Configuration

Component Configuration
Load WSDL From

Source for WSDL can be configured here. It can be a File or a valid WSDL URL. When File is selected, the WSDL file location can be configured using the property SalesForce WSDL File. When URL is selected, the WSDL URL can be configured using the property SalesForce WSDL URL.

SalesForce WSDL File

This property is used to specify the SalesForce WSDL File location. This property gets enabled when the Load WSDL From is selected as File.


Figure 3: WSDL Operation Configuration for Apex Operations

Is Apex ?

Select 'yes' if the component needs to invoke Apex webservice. When set to 'yes', the following properties must be configured.

Login URL

The endpoint address of the Enterprise WSDL must be specified here which will be used for authentication and creation of session required to invoke Apex Operations. This would be present in the WSDL file as the value of location attribute of elementdefinitions/service/port/soap:address. The credentials required should be configured using property Login Configurations.

WSDL Configuration

Instead of the enterprise WSDL used to invoke common operations like insert, update etc, to invoke Apex operations the WSDL corresponding to Apex class must be used. This is present in Salesforce dashboard as a link WSDL adjacent to the Apex class at App Setup > Develop > Apex Classes

Store Imported Schemas

If selected yes, saves imported schemas to Schema repository.

Connection Expert Properties

Enable Show Expert Properties option to configure expert properties.


Figure 4Expert Connection properties

Additional Login named configurations to bind

List of all additional Login Configurations saved using named configurations separated by ; that has to be bound so that it can be used from 'LoginNamedConfig' message header.

Example

LoginNC1;LoginNC2 

Additional WSDL named configurations to bind

List of all additional WSDL Service Configurations saved using named configurations separated by ; that has to be bound so that it can be used from 'WSDLServiceNamedConfig' message header.

Example

WsdlNC1;WsdlNC2 

Call and Addressing Properties


Figure 4: Call and Addressing Properties panel

Operations

Operations which need to be invoked on Salesforce API can be configured here. The operations supported by Salesforce will be shown when the add button is clicked in the panel. In the panel beside, Operation can be selected. Once the operation gets selected, the properties WSDL Service, WSDL Port, Endpoint Address, Input parameter and Output parameter will be populated.


Figure 5: WSDL Operation Configuration panel

Port name Prefix

Displays param name of the operation to be invoked which is used as a prefix to generate port names based on given param name. Input port name will be generated with "_Request" as a suffix and Output port name will be generated with "_Response" as the suffix. For param with the name as "Operation1", input and output port names will be Operation1_Request and Operation1_Response.

Login Configurations

This property specifies the parameters which need to be passed to salesforce.com while logging. Parameters like username, password etc. can be specified here. While entering password details, the security token should be concatenated with it to make authentication successful.


Figure 6: Login Parameters panel

Login URL

This property is used only when the property "Is Apex" is set to true. The endpoint address of the Enterprise WSDL must be specified here which will be used for authentication and creation of session required to invoke Apex Operations. This would be present in the WSDL file as the value of location attribute of element definitions/service/port/soap:address. The credentials required should be configured using property Login Configurations.

Call and Addressing Expert Properties

Enable Show Expert Properties option to configure expert properties.

WSDL Service Configuration

WSDL Service

This property specifies the WSDL Service name. This property will be automatically populated when one or more operations are selected while configuring the property Operations.

Endpoint Address

This property specifies the Endpoint Address for the Web service operation. This Property will be automatically populated when one or more operations are selected while configuring the Property Operations.


Figure 7: WSDL Service Configuration panel

WSDLPort

This property specifies the WSDL Port. This property will be automatically populated when one or more operations are selected while configuring the property Operations.

Login Operation

This property specifies the web service operation which is used to login to salesforce.com.

Logout Operation

This property specifies the web service operation which is used to logout from salesforce.com.

Input Parameter: This property specifies the input message name for the selected WSDL Operation. Once the WSDL Operation is selected, this property will be automatically populated.

Output Parameter: This property specifies the output message name for the selected WSDL Operation. Once the WSDL Operation is selected, this property will be automatically populated.

Request Allocation Among Users

  • Usage-based: User with the least number of requests to be processed gets allocated.
  • Round Robin: Requests will be allocated in a round robin fashion.

Call Properties

Advanced properties which can be used to optimize and change the behavior SOAP Invocation Call.

Icon

The description for the axis call properties can be found at http://ws.apache.org/axis/java/apiDocs/org/apache/axis/client/Call.html

SOAPBody Namespace

This property specifies the SOAP Body namespace. Once the WSDL Operation is selected, this property will be automatically populated.

Enable WS-Addressing

Enables support for WS-Addressing headers.

Advanced

HTTP Basic Authentication

Use HTTP Authentication

This property specifies whether HTTP authentication is required or not to connect to a web server.

Username

User Name to connect to the web server.

Password

Password to connect to the web server.

Proxy Settings

Use Proxy Server

Select this option if the connection has to be established using a proxy server.

Proxy Address

The IP address or the host name of the machine where the proxy server is running.

Port Number

Port number on which the proxy server is running.

Username

The user name to log into the proxy server.

Password

Password for the user name provided.

SOCKS Proxy

Enable this property to use SOCKS protocol to connect to the proxy server.

SSL Security

Refer to the SSL Security section in the Common Configurations page for details.

Other Expert Properties

Enable Show Expert Properties option to configure expert properties.

Reliable Messaging

Web Services Reliable Messaging (WS-ReliableMessaging) is a protocol which helps to deliver messages reliably between distributed applications in the event of a failure of the component, system, or network.

Client port of WS-ReliableMessaging

The port on which the client listener of WS-RM listens.

Enable WS-ReliableMessaging

Selecting "yes" enables the support of WS-Reliable messaging headers.

Soap Compression

Compresses large SOAP messages transmitted between the server and the client to reduce the load on the network upto a great extent and thereby increase performance.

Compress SOAP Request

Enables compression while sending requests.

Compress SOAP Response

Expects response in compressed format.

Encrypt/Decrypt Configuration

Please refer to the Encrypt Decrypt Configuration section to know about Encrypt/Decrypt configuration.


Figure 8: Encrypt/Decrypt Configuration panel

Useful Points

  • If the salesforce web service is secured using basic authentication, then the details of the basic authentication should also be provided in the Call Properties property during execution time.
  • While entering password details, the security token should be concatenated with it to make authentication successful.
  • To pass HTTP headers to the salesforce web service, the input message should contain properties with the header name prefixed with http_. Example http_Content-Type.
  • Please refer the WebServiceConsumer4.0 help to know more about the properties which are not mentioned in this section and are common to both these components.
  • In case of 'In Memory' launch, enable SSL settings in CPS and set 'Trust Store Location' to jre/lib/security/cacerts.
  • To save a configuration as Named Configuration, refer Save Named Configuration section.
  • To manage SSL Security, instead of overwriting SSL socket creation in the CPS, it can be configured in the system property (JVM) as well. For example, to use TLS 1.1 protocol, change the default value (TLSv1.0) of the '-Dsecurity.protocol' system property to "TLSv1.1".
Icon

To understand the service better, refer the SalesForce Integration example which demonstrates SalesForce service features.

Adaptavist ThemeBuilder EngineAtlassian Confluence