在Salesforce中调用外部系统所提供的的Web Service

这里需要提供外部service所对应的WSDL文件(Salesforce只支持从本地上传),并且提供的WSDL文件有如下两点要求:

1):wsdl 文件只能有一个binding,Salesforce是不支持多个binding的

2):wsdl 文件要包含所有的schema信息,Salesforce是不支持external schema的import的

 

接下来便是具体的操作步骤:

1):按照此目录 Setup --> Build --> Develop --> Apex Classes 找到对应的 Generate from WSDL 按钮,如下图所示

 

2):点击上图中的Generate from WSDL按钮,会得到如下视图,点击Browser按钮从本地目录选择相对应的WSDL文件

 

3):之后点击下图中的Parse WSDL按钮,会将WSDL转换成Apex的Class文件(如果此处出现URL无法访问的异常,请看第6条的解决方案)

 

4):如果没有任何异常出现的话,就可以在下图中填入Apex Class Name了,然后点击Generate Apex code去真正的生成对应的Class文件

 

5):在如下图中可以查看我们具体生成的Apex Class文件,之后就可以在对应的Controller里去调用此Class中的方法了(实际上就是call service),具体代码这里就省略了

 

6):如果在第3步的时候出现URL无法访问的异常,根据异常信息可以到Remote Site Setting中把WSDL文件中用到URL添加到Salesforce中

 

7):当然了在Salesforce中同样可以调用外部所提供的Rest Service,并且调用Rest Service的方式显得更加的简洁。

简单的调用代码如下所示:

public void callRestService() {HttpRequest req = new HttpRequest();HttpResponse res = new HttpResponse();Http http = new Http();req.setEndpoint('http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/');req.setMethod('GET');//req.setHeader('Content-Type', 'application/json');//req.setHeader('Accept', 'application/json');//req.setBody('');req.setCompressed(true); // otherwise we hit a limit of 32000try {res = http.send(req);system.debug('-----000001----- successful response: ' + res);system.debug('-----000001----- successful response string: ' + res.toString());system.debug('-----000001----- successful response STATUS: '+res.getStatus());system.debug('-----000001----- successful response STATUS_CODE: '+res.getStatusCode());system.debug('-----000001----- successful response Content: ' + res.getBody());} catch(System.CalloutException e) {System.debug('-----000002----- Callout error: '+ e);System.debug('-----000003----- failed response:' + res.toString());}}

 

 更多细节请看此链接: https://developer.salesforce.com/page/Apex_Web_Services_and_Callouts 

 

转载于:https://www.cnblogs.com/mingmingruyuedlut/p/3512262.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查询日志中页面返回状态码,[linux shell] Shell脚本实现apache日志中的状态码分析...

这篇文章主要介绍了Shell脚本实现apache日志中的状态码分析,本文先是介绍了按天切割日志的方法,然后给出了分析访问状态码的脚本,需要的朋友可以参考下一、首先将apache日志按天切割复制代码 代码如下:vi /etc/httpd/conf/httpd.confErrorLog "|rotatelogs /var/log/httpd…

e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调...

上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问” 下面讲一下,对于在写Node.js自动化测试脚本过程中,的编写回调问题&#xff0…

基于比率的路由到旧版和现代应用程序–通过Spring Cloud的Netflix Zuul

从应用程序的旧版本迁移到应用程序的现代化版本时,一个非常普遍的要求是能够将用户缓慢迁移到新应用程序。 在本文中,我将介绍通过Spring Cloud使用对Netflix Zuul的支持编写的这种路由层。 在继续之前,我必须承认,此处演示的大多…

linux查找设备所在分片,Linux设备驱动统一模型解析

soc节点指定了<0x0 0xe0000000 0x00100000>;此属性值指定对于1024KB范围的地址空间,在物理0x0处寻址的子节点映射到物理0xe0000000的父地址。通过这种映射,串行设备节点可以通过0xe0004600地址的加载或存储、0x4600(在…

一个兼容所有浏览器的阻止事件冒泡方法

function stopBubble(event) { //阻止冒泡事件 //取消事件冒泡 var e arguments.callee.caller.arguments[0] || event; //若省略此句,下面的e改为event,IE运行可以,但是其他浏览器就不兼容 if (e && e.stopPropagation) { // this …

linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)

第二章命令之乐cat 不仅可以读取文件并且连接数据,它还能从标准输入中进行读取要从标准输入中读取,就要使用管道操作符echo Text through stdin | cat - file.txt。这里的-被作为来之stdin 文本的文件名称实例 在file.txt 中写入dfagfmirgjriogjrogijdfg…

xaml_XAML或JavaFx?

xaml这是使用XAML和JavaFx构建应用程序的快速,主观, 无权且非常不科学的比较。 比较是基于我与每个人合作的个人经验。 在XAML方面,这意味着WPF和Win8存储应用程序 。 在JavaFx方面,这意味着Windows 7应用程序。 JavaFX JavaFx被…

古代猪文

题意: 给定q ,n 求$q^{\sum\limits {d|n} C_{n}^{d} }mod 999911659$ 题解: 首先如果你直接算次方上的数的话会炸掉,因为欧拉定理我们可以得到 $q^{\sum\limits {d|n} C_{n}^{d} mod999911658}mod 999911659$ 因为mod的数是个合数…

linux gcc 7.3.0安装,升级gcc到7.3.0

#查看当前版本gcc --version # 先查看当前版本确认是否需要升级tar -zxvf gcc-7.3.0.tar.gzcd gcc-7.3.0#检测和安装相关依赖包,这个过程需要耐心等待,此步骤会将依赖包下载到gcc-7.3.0目录,如果因网络原因无法完成请自行使用wget下载。该步骤…

使用Envoy代理的微服务模式,第二部分:超时和重试

该博客是系列文章的一部分,该系列文章更深入地介绍了Envoy Proxy和Istio.io ,以及它如何实现更优雅的连接和管理微服务的方式。 跟随我christianposta ,紧跟这些博客文章的发布。 什么是Envoy代理 ,它如何工作? 如何…

矩阵快速幂总结

依然主要还是自用 首先矩阵一条性质的概述和证明 概述:对于一个临接矩阵$G$来说,它自乘$G^k$次方中$G[i][j]$含义为从i走到j走k步方案数. 证明:比较麻烦,我们设f[i]表示从1走到其他点方案数,那么根据矩阵递推优化,k次就是转移了k次,那么每次走一步,k次就是走了k步 最…

c语言有一个正整数加上100,c语言编程实现:一个整数,它加上100后是完全平方数,再加168又是完全平方数,求该数。...

满意答案问题:一整数,它加100后是完全平方数,再加168还是完全平方数,求该整数解题思路:设该数为x,它加100后是A,再加168为B。则因为A是完全平方数,所以A为正数,且Ay*y&am…

C语言计算分段函数pta,PTA浙大版《C语言程序设计(第3版)》题目集 练习2-11 计算分段函数[2] (10分)...

1.编程将一个字符串中所有空格替换为“%20”#define _CRT_SECURE_NO_WARNINGS#include #includeusing namespace std;const int maxd 20;//最大深度int m[1 << maxd];//最大结点个数为2的maxd次方-1//编程将字符串中的空格用%20代替…2021/5/21 3:32:25pssh是由python编写…

「PKUWC2018」Slay the Spire

国际惯例不放题干 扯淡 其实题目翻译过来是杀戮尖塔&#xff0c;某steam上的卡牌游戏&#xff0c;我也曾热衷刷榜 题解 首先题目中要求的期望是假期望,结合题目中所给的阶乘就可以看出这其实是从$2*n$张牌中选择$m$张牌使用,并且所有情况都取最大值时的和 首先排序贪心最大 再说…

java lambda使用_在Java 8 Lambda上使用Apache Commons Functor功能接口

java lambda使用Apache Commons Functor &#xff08;以下称为[functor]&#xff09;是一个Apache Commons组件&#xff0c;它提供功能性的编程API和已实现的几种模式&#xff08;访问者&#xff0c;生成器&#xff0c;聚合器等&#xff09;。 Java 8具有几个不错的新功能&…

基于svm图像分类C语言,基于SVM的图像分类算法与实现.PDF

, ( ) 计算机工程与应用40 ComputerEngineeringandApplications基于SVM的图像分类算法与实现张淑雅 赵一鸣 李均利, ,, ,ZHANGShu-yaZHAOYi-mingLIJun-li宁波大学 数字技术与应用软件研究所 浙江 宁波, 315211, , , ,InstituteofDSPandSoftwareTechniquesNingboUniversityNingb…

前端ui框架

http://frozenui.github.io/components.html#progress rozenUI是什么 Frozen UI是一个开源的简单易用&#xff0c;轻量快捷的移动端UI框架。基于手Q样式规范&#xff0c;选取最常用的组件&#xff0c; 做成手Q公用离线包减少请求&#xff0c;升级方式友好&#xff0c;文档完善…

德国留学语言c1,德国留学申请,关于语言

申请德国大学并不容易&#xff0c;语言是一大关。对于申请德国大学的人来说&#xff0c;除国际课程和个别专业外&#xff0c;各大学对申请人德语学时要求一般都在800学时以上&#xff0c;目前比较权威的德语考试有TestDaf和DSH这两种类型。TestDaF&#xff1a;“外国学生申请大…

一个iOS表单框架-UFKit

效果&#xff1a; 使用&#xff1a; pod UFKit- (void)viewDidLoad {[super viewDidLoad];__block UFFormView *formView [UFFormView makeFormView:^(UFFormViewMaker * _Nonnull make) {make.addSection([UFSection makeSection:^(UFSectionMaker * _Nonnull make) {make.ad…

c语言手写指针和乘号,C-学会使用指针(示例代码)

先说&#xff1a;唯手熟尔指针指针存储着一个内存空间的地址定义一个指针int a&#xff1b;int * p&#xff1b;定义一个指针&#xff0c;只需在变量前面加一个 * 号。这里的指针只能存储一个存放整数的内存空间的地址指针如何存储地址p &a;&叫取地址符。这样整形指针…