Considerations Using WSDLs

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

📄 第 380 页 🎬 视频课程

课程章节介绍

好,我们来看这一页幻灯片。它主要提醒我们,用 WSDL 文件自动生成 Apex 代理类时,有几个重要的注意事项。 首先,在生成的类里,如果 WSDL 里定义了 SOAP 消息头,这些头部信息会自动变成类里的公共字段,也就是存根上的属性。你在代码里直接给这些字段赋值,调用时就会自动带在请求里,非常方便。 但是,有一个很容易踩的坑:假如对接的服务后续更改了 XML 命名空间,而 WSDL 里的命名空间还是旧的,那自动生成的类就不好使了。因为生成的类是把命名空间写死的。这时候,你就不能再用这个代理类去调了,必须手动构建完整的 HTTP 请求体,也就是自己拼出 SOAP 报文,然后用 Apex 的 HttpRequest 直接发一个 POST 请求到服务端点。虽然麻烦一点,但更灵活。 另外,在运行时,平台还会自动替我们做几项检查。比如,会防止因循环引用导致的无限递归,会检查远程站点

关键词

Apex Salesforce Developer Guide