我们正在使用 MobileFirst 6.3,在 RHEL linux 上运行的 mobilefirst 服务器。我们连接到 SAP 并使用 Discovery 生成适配器代码,并使用这些生成的适配器调用(自定义身份验证除外)。如果我们对 SAP 进行创建,则会产生 http POST 请求,但适配器总是在实际请求之前生成一个 http HEAD 请求。我让 SAP 后端人员抱怨这些(并不是我个人认为它们会造成太大伤害)。在使用wireshark检查其他东西时,我也确认了这些。我可以想象它们与适配器的某种类型的连接检查有关,但无法找到任何证据。搜索类似问题也很困难,因为 HTTP 和 HEAD 字符串在 url 和 html 代码中非常常见。
- 谁能验证我对这些 HEAD 请求目的的猜测?
- 有关于这些的任何文件吗?
- 它们是否以任何方式可配置(在这种情况下,选择退出会有什么缺点)?
适配器定义:
..
<connectivity>
<connectionPolicy xsi:type="nwgateway:NWGatewayHTTPConnectionPolicyType">
<protocol>HTTP</protocol>
<domain>our.complex.host</domain>
<port>10084</port>
<connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
<socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>
<serviceRootUrl>/sap/opu/odata/sap/OUR_CUSTOM_REQS/</serviceRootUrl>
<!-- Following properties used by adapter's key manager for choosing specific certificate from key store
<sslCertificateAlias></sslCertificateAlias>
<sslCertificatePassword></sslCertificatePassword>-->
<maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
</connectionPolicy>
</connectivity>
..
<procedure name="createOurCustomObjectHeader" securityTest="OurCustomSecurityTest" connectAs="endUser"/>
..
适配器代码:
function createOurCustomObjectHeader(content) {
var request = {
CollectionName: "OurCustomObjectHeaderSet",
Content : content
};
return WL.Server.createNWBusinessObject(request);
}
安全测试代码:
<customSecurityTest name="OurCustomSecurityTest">
<test realm="wl_antiXSRFRealm" />
<!-- test realm="wl_authenticityRealm"/ -->
<test realm="wl_remoteDisableRealm" />
<test realm="OurCustomRealm" isInternalUserID="true" />
<test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID ="true" />
</customSecurityTest>