我正在尝试使用Salesforce中的use a流将变量传递到Apex类,该类执行到外部API的HTTP Post。流抓住一个机会,解析它的一些字段,并将它们输入Apex类。从那里,Apex类调用InvocableMethod来创建一个自定义对象,以将这些输入存储为字符串列表,然后将其传递给“webservice”类,该类创建数据的JSON对象并将其发布到API。
我能够让帖子正确地处理硬编码字符串,但当我尝试使用输入变量时,流出错,说输入参数“xxxxxx”在引用的操作中不可用。将其从“Apex Class xxxx”动作元素中删除。
在流的调试屏幕中,我还可以看到这些输入正在从Salesforce获取正确的值,但它错误地说:为Apex操作指定了无效的输入参数
如何让这些输入正确进入Apex类?
global class MyApexClass
{
//Stores output from 'sendToWebService' to be converted to JSON
public class Body {
public String address;
public String companywebsite;
public String companyname;
public string opportunityid;
}
//Stores inputs from Flow
public class FlowInputs {
@InvocableVariable public String Address;
@InvocableVariable public String CompanyWebsite;
@InvocableVariable public String CompanyName;
@InvocableVariable public String OppId;
}
//Method to call webservice method since InvocableVariables can't be passed to it directly
@InvocableMethod(label='xxxx' description='xxxxx')
public static List<String> sendToWebService(List<String> flowData){
List<String> outList;
for (String input : flowData){
outList.add(input);
}
SendToAPI(outList);
return outList;
}
//creates an object to store inputs, converts to JSON, and sends it to the API via HTTP POST
webservice static void SendToAPI(List<String> accountData){
Http m_http = new Http();
HttpRequest req = new HttpRequest();
.........
你基本上在那里-
在invocable方法上,您需要声明用于存储输入的apex对象的列表/数组,而不是字符串列表:
@InvocableMethod(label='xxxx' description='xxxxx')
public static List<String> sendToWebService(List<FlowInputs> request)
然后,您应该能够在请求头/体方法本身内对json进行格式化
问题内容: 好的,所以我想在动态生成的模板url中使用作用域变量。所以我尝试了这个: html js 我原本希望返回的值,但最终却得到了。结果导致templateUrl为。 那么,我该怎么办才能获取范围变量的值而不是原始文本? 问题答案: 作用域值不能从指令的templateUrl中访问。这些属性尚未编译,因此无法在此上下文中访问范围。 这是一种可能适合您的解决方法。 见Plunkr 我在这里所做
我想在Postman中参数化我的测试。这是POST请求的示例正文:
问题内容: 与Firebase问题相比,这更像是JavaScript关闭问题。在以下代码中,Firebase回调无法识别父作用域中的变量myArr。 问题答案: 回调函数可以很好地识别/修改。问题是,当执行标记为“不工作”的标签时,回调尚未触发。 让我们稍微更改一下代码: 现在,可能会更容易了解发生了什么。 您注册一个侦听器,该侦听器将调用添加到Firebase中的每个帖子 这将导致对服务器的调用
问题内容: 尽管在ChildCtrl中实例化了一个“新”变量,我如何进行变量更改并将其轻松传播回ParentCtrl?加分点数最少,甚至没有$ on和$ watch(使其更易于实现) ParentCtrl ChildCtrl / ChildCtrl2 / ChildCtrl3 / ChildCtrl4 视图 我的ChildCtrl的区别就足够大了,我无法轻松抽象出主布局和ng-view,但是它们都
问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实
问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实