WSDL2Apex — Generated Code Notes

DEX455 - Apex 集成与工具完全指南:Callouts、命名凭据、WSDL2Apex、Mock 测试

📄 第 369 页 🎬 视频课程

课程章节介绍

同学们,咱们今天来聊聊从 WSDL 生成 Apex 类的时候,几个特别重要的小细节。平时咱们调用外部服务,经常要用到 WSDL 文件,但生成的代码可能会跟原始的命名不太一样,你先心里有个底,遇到就不会慌了。 第一个要注意的:如果 WSDL 里头有些词,在 Apex 里是属于保留字,比如 “limit” 这种,生成类的时候,Salesforce 会自动在那个词的末尾加上一个 “_x”。所以 “limit” 就会变成 “limit_x”。这样既能保留原意,又不跟语言的关键字冲突。 再来看一个情况:如果 WSDL 里某个操作,它的输出消息包含了好几个元素,那生成的 Apex 代码会自动把这些元素打包进一个内部类里面。这样做是为了结构清晰,你访问返回的数据时,就通过这个内部类的属性去拿,不容易乱。 还有一点要留心:Apex 类名是不允许出现句号的,但 WSDL 的命名里可能会用句点。没关系,生成代码的时候,所有的句点都会被下划线替换掉。比如原来的名字里带 “my.service”,就会变成 “my_service”。 那最终咱们怎么用这些生成的代码呢?很简单,你就在 Apex 里直接创建这个生成存根的实例,然后调用它上面定义好的方法,就像调用普通的 Apex 类方法一样,数据就发出去、接收回来了。这样就把外部服务轻松集成进来了。 记住这几个小规律,以后看生成的 Apex 类就不会觉得奇怪了。好了,今天就讲到这里,下回见。

关键词

Apex Salesforce Developer Guide