Post IBM DataPower-如何处理来自openurl的HTML响应?
我试图在论坛中寻找解决方案,但我找不到与我试图实现的类似的东西。我在MPG中有一个网关脚本,有点像这样:Post IBM DataPower-如何处理来自openurl的HTML响应?,post,request,response,urlopen,ibm-datapower,Post,Request,Response,Urlopen,Ibm Datapower,我试图在论坛中寻找解决方案,但我找不到与我试图实现的类似的东西。我在MPG中有一个网关脚本,有点像这样: session.INPUT.readAsJSON(function (error, json) { if (error){ throw error; } else { var SAMLResponse = json['SAMLResponse']; var RelayState = json['RelayState']; var
session.INPUT.readAsJSON(function (error, json) {
if (error){
throw error;
} else {
var SAMLResponse = json['SAMLResponse'];
var RelayState = json['RelayState'];
var urlopen = require('urlopen');
var options = {
target: 'https://************.com/e32d32der2tj90g8h4',
method: 'POST',
headers: { 'HEADER_NAME' : 'VALUE'},
contentType: 'application/json',
timeout: 60,
sslClientProfile: 'ClientProfile',
data: {"SAMLResponse": SAMLResponse, "RelayState": RelayState}
};
urlopen.open(options, function(error, response) {
if (error) {
session.output.write("urlopen error: "+JSON.stringify(error));
} else {
var responseStatusCode = response.statusCode;
var responseReasonPhrase = response.reasonPhrase;
response.readAsBuffer(function(error, responseData){
if (error){
throw error;
} else {
session.output.write(responseData);
console.log(responseData);
}
});
}
});
}
});
我正在做一个POST请求,从urlopen函数得到的响应是一个HTML页面,如何在浏览器中显示该页面的内容?我需要它来启动流程。我走错方向了吗?发布到URI并在DataPower中显示其响应的最佳方式是什么?
关于我在DataPower方面的经验,我刚刚开始学习,因此我可能不熟悉其中的许多概念。
提前谢谢
session.INPUT.readAsJSON()
将指示您正在接收JSON数据作为输入(来自POST)
由于您是在多协议网关(MPGW)中构建的,因此如果响应是HTML,并且没有进行后端调用(除了url-open()
),则需要将响应类型设置为非xml
,还必须设置跳过backside=1
变量
情况是:
JSON HTTP请求->[MPGW]->url-open()->后端服务器--|
HTTP响应[MPGW]->url-open()-->(跳过背面)
HTTP响应