Salesforce ✕SpringBoot 퀵스타트

8717 단어 SpringBootSalesforce
Java에서 Salesforce로 SOAP API를 두드리는 도구 작성 시작.
최근 Salesforce 개발에 종사했기 때문에 비망록으로.

Spring Initializr에서 원래 코드 얻기



※ 특히 Dependencies는 선택하지 않는다



Maven에 다음 추가



pom.xml
        <dependency>
            <groupId>com.force.api</groupId>
            <artifactId>force-partner-api</artifactId>
            <version>45.1.0</version>
        </dependency>

force-partner-api의 Partner는 무엇입니까?

※Partner: Salesforce에서 범용으로 사용할 수 있는 WSDL을 사용
※Enterprise: Salesforce에서 조직별로 독자적으로 사용하는 WSDL을 사용

Java 파일에 다음 추가



package sfdc.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.sforce.soap.partner.PartnerConnection;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
        login();
    }

    // Salesforceのログイン処理
    private static boolean login() {
        PartnerConnection partnerConnection = null;
        boolean success = false;
        String username = "※ログインID※";
        String password = "※パスワード※";
        String authEndPoint = "https://login.salesforce.com/services/Soap/u/45.0/";
        // Sandboxの場合、testに変更する

        try {
          ConnectorConfig config = new ConnectorConfig();
          config.setUsername(username);
          config.setPassword(password);

          config.setAuthEndpoint(authEndPoint);
          config.setTraceMessage(true);
          config.setPrettyPrintXml(true);

          partnerConnection = new PartnerConnection(config);

          success = true;
        } catch (ConnectionException ce) {
          ce.printStackTrace();
        }
        return success;
      }
}


여기에서 먼저, Insert나 Update 처리를 실시하려면



아래 공식 사이트의 샘플 코드 참조



이마즈키 포인트



* 형의 차이


        SObject contact = new SObject();
        contact.setType("Contact");
        contact.setField("FirstName", "Otto");

        // 日付は、String ではなく Dateを入れる
        contact.setField("Date__c", "Jespersen");

        // 日時は、String ではなく Calenderを入れる
        contact.setField("DateTime__c", "Professor");

* 외부 키 세트


        SObject contact = new SObject();
        contact.setType("Contact");

        SObject account = new SObject();
        account.setType("Account");
        // 外部キー
        account.setField("Key__c", value);

        contact.setField("FirstName", "Otto");
        contact.setField("Account.Key__c", account);

좋은 웹페이지 즐겨찾기