如何使用 PUT 调用 MobileFirst 平台适配器?
How do I invoke a MobileFirst Platform Adapter using PUT?
这与 提出的问题类似,但该问题并未准确回答问题所在。
Customer.xml
<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="Customer"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wl="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">
<displayName>Customer</displayName>
<description>Customer</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>kenatibm.cloudant.com</domain>
<port>443</port>
</connectionPolicy>
</connectivity>
<procedure name="addCustomer"> </procedure>
</wl:adapter>
客户-impl.js
function addCustomer(param1) {
var input = {
method : 'PUT',
returnedContentType : 'json',
path : 'userInputRequired',
body : {
contentType: 'application/json',
content : param1
}
};
return WL.Server.invokeHttp(input);
}
问题是,即使我已将方法定义为 PUT,在使用 File 运行 As | 进行测试时调用 MobileFirst Adapter 用户界面只显示 GET 方法,没有 PUT 选项。
GET 实际上会执行 PUT 的答案是错误还是我缺少配置参数?
我认为您混淆了如何 invoke/test 适配器,以及它在调用的后端系统上使用的动词。您 testing/invoking 它使用 GET,但适配器随后调用您的后端系统 - http://kenatibm.cloudant.com/backendsystem - 使用 PUT。
这与 的解释大致相同。
简而言之,答案是 GET 实际上会执行 PUT。
参数在 GET 请求中传递给适配器,然后适配器构造 PUT 请求以执行实际过程。在您的代码中,您可以看到向导如何将 'param1' 传递给函数,然后将其设置为 PUT 请求的 'content'。这肯定有点令人困惑。
这与
Customer.xml
<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="Customer"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wl="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">
<displayName>Customer</displayName>
<description>Customer</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>kenatibm.cloudant.com</domain>
<port>443</port>
</connectionPolicy>
</connectivity>
<procedure name="addCustomer"> </procedure>
</wl:adapter>
客户-impl.js
function addCustomer(param1) {
var input = {
method : 'PUT',
returnedContentType : 'json',
path : 'userInputRequired',
body : {
contentType: 'application/json',
content : param1
}
};
return WL.Server.invokeHttp(input);
}
问题是,即使我已将方法定义为 PUT,在使用 File 运行 As | 进行测试时调用 MobileFirst Adapter 用户界面只显示 GET 方法,没有 PUT 选项。
GET 实际上会执行 PUT 的答案是错误还是我缺少配置参数?
我认为您混淆了如何 invoke/test 适配器,以及它在调用的后端系统上使用的动词。您 testing/invoking 它使用 GET,但适配器随后调用您的后端系统 - http://kenatibm.cloudant.com/backendsystem - 使用 PUT。
这与
简而言之,答案是 GET 实际上会执行 PUT。
参数在 GET 请求中传递给适配器,然后适配器构造 PUT 请求以执行实际过程。在您的代码中,您可以看到向导如何将 'param1' 传递给函数,然后将其设置为 PUT 请求的 'content'。这肯定有点令人困惑。