我是靠谱客的博主 明亮小猫咪,最近开发中收集的这篇文章主要介绍在Salesforce中创建Web Service供外部系统调用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Salesforce中可以创建Web Service供外部系统调用,并且可以以SOAP或者REST方式向外提供调用接口,下来的内容将详细讲述一下用SOAP的方式创建Web Service并且用java的程序进行简单的调用。

【注:要想使其成为web service,那么class一定要定义成global的,具体的方法要用 webService static 修饰】

在salesforce中开发-新建apex类。具体内容如下所示

e47e206bf201830d6b072e2ae7c8cc015c6.jpg

2):在保存好上述的class之后,我们到setup --> build --> develop --> apex classes 中找到刚刚保存的class,我们会发现在对应的Action中有WSDL这个选项,此选项就是Salesforce默认所提供的将Web Service的class转化成WSDL文件。如下图所示

b10b6fdbc7a2fad57adfe862a3018d5f65e.jpg

3):点击上图的WSDL按钮,会看到如下界面,这里显示的是生成的WSDL文件的详细信息,我们点击鼠标右键,将此文件保存到本地,这里姑且取名为AccountWebservice.wsdl

6f605fea0df042b6c36cb6f9778b771ff02.jpg

4):我们可以简单的创建一个TestWebservice的javaproject

将AccountWebservice.wsdl生成AccountWebservice.jar

打开cmd 输入 java -classpath antlr-runtime-3.5.2.jar;tools.jar;st4-4.0.4.jar;force-wsc-45.1.0.jar com.sforce.ws.tools.wsdlc AccountWebservice.wsdl AccountWebservice.jar

将jar包导入项目中

5fd37115eb32826624d06c7ba77038d1efc.jpg

代码如下,java中调用webservice中的接口方法

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sforce.soap.AccountWebservice.Account;
import com.sforce.soap.AccountWebservice.SoapConnection;
import com.sforce.soap.enterprise.Connector;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.ws.ConnectorConfig;

import net.sf.json.JSONObject;

public class Test {
    static final String USERNAME = "alice.zhu@slipstream.com.cn";                   //Salesforce账号中的用户名
    static final String PASSWORD = "#########";    //密码,这个密码有点特殊,需要在密码后面加入安全标记
    static EnterpriseConnection connection;
    public static void main(String[] args) {
        ConnectorConfig config = new ConnectorConfig();
        config.setUsername(USERNAME);
        config.setPassword(PASSWORD);
        SoapConnection sc =null;
         try {
          connection = Connector.newConnection(config);
           config.setServiceEndpoint("https://ap8.salesforce.com/services/Soap/class/AccountWebservice");
           sc = new SoapConnection(config);
          Account[] ss=sc.getAccountList();
          List<Account> resultList = new ArrayList<>(ss.length);
          for (Account account : ss) {
              resultList.add(account);
        }
          Map<String,Object> map = new HashMap<>();
          map.put("total", resultList.size());
          map.put("rows", resultList);
          JSONObject jsons = JSONObject.fromObject(map);
          System.out.println(jsons.toString());
         }catch(Exception e) {
             e.printStackTrace();
         }
    }
    

}

测试

747f1996b626a3bd4a23969b036d73e1ef8.jpg

 

转载于:https://my.oschina.net/u/3459265/blog/3064167

最后

以上就是明亮小猫咪为你收集整理的在Salesforce中创建Web Service供外部系统调用的全部内容,希望文章能够帮你解决在Salesforce中创建Web Service供外部系统调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部