如何解决与 SM 中加载的 ws 的请求和响应相关的问题
How to troubleshoot issues related to requests and responses from ws loaded in SM
我正在研究 Microfocus Service Manager 和 Remedy 之间的集成。为了解决与 SM 对 Remedy 的请求和响应相关的问题,需要将该信息打印或发送到日志中。我曾尝试在我的测试端口配置中使用调试 -RTM:3 标志,但不幸的是,我的日志中有很多信息,因为它记录了该工具执行的每个步骤。之后,我在我的端口中设置了 -debughttp 标志,但它只从外部资源写入 inputs/outputs。
这是我所做的:
使用 WSDL2JS 实用程序加载 Remedy 客户的端点。
使用 SL 调用端点。
向端点执行请求。
得到一个未定义的响应。
检查由 -RTM 和 -debughttp 写入的日志但没有成功。
有什么方法可以检查我的请求或我客户的响应发生了什么?
您可以使用 WSDL2JS 创建的 sl 只在其中添加一段代码来获取您的请求和响应的内容。
对于您的请求,请查找这部分代码(大约第 129 行):
this.resultXML = doSOAPRequest( this.location, soapOp.SOAPAction, result.xml,
this.user, this.password,
this.connectTimeOut, this.sendTimeOut, this.recvTimeOut,
this.attachments, this.acceptfastinfoset );
在下面添加以下代码:
//Print your request
print(result.xml)
//Send your xml request to a internal log called integration_debug.log in your app server
writeFile("../logs/integration_debug.log","a","\n");
writeFile("../logs/integration_debug.log","a","######### REQUEST INFO XML######\n");
writeFile("../logs/integration_debug.log","a",system.functions.tod()
+ "\n"
+ result.xml
+ "\n"
+ "\n");
对于您客户的回复,请查找这部分代码:
if ( soapOp.responseObj == "null" ) // one-way MEP ?
{
return null;
}
var resultObj = new Object();
resultObj.responseObj = soapOp.responseObj;
在下面添加以下代码:
//Print your customer response
print(this.resultXML.getDocumentElement())
//Send your xml response to a internal log called integration_debug.log in your app server
writeFile("../logs/integration_debug.log","a","\n");
writeFile("../logs/integration_debug.log","a","######### RESPONSE INFO XML#######\n");
writeFile("../logs/integration_debug.log","a",system.functions.tod()
+ "\n"
+ this.resultXML.getDocumentElement()
+ "\n"
+ "\n");
作为参考,您可以查看下图以确定插入代码的位置:
希望这对您的故障排除有所帮助。
我正在研究 Microfocus Service Manager 和 Remedy 之间的集成。为了解决与 SM 对 Remedy 的请求和响应相关的问题,需要将该信息打印或发送到日志中。我曾尝试在我的测试端口配置中使用调试 -RTM:3 标志,但不幸的是,我的日志中有很多信息,因为它记录了该工具执行的每个步骤。之后,我在我的端口中设置了 -debughttp 标志,但它只从外部资源写入 inputs/outputs。 这是我所做的: 使用 WSDL2JS 实用程序加载 Remedy 客户的端点。 使用 SL 调用端点。 向端点执行请求。 得到一个未定义的响应。 检查由 -RTM 和 -debughttp 写入的日志但没有成功。 有什么方法可以检查我的请求或我客户的响应发生了什么?
您可以使用 WSDL2JS 创建的 sl 只在其中添加一段代码来获取您的请求和响应的内容。 对于您的请求,请查找这部分代码(大约第 129 行):
this.resultXML = doSOAPRequest( this.location, soapOp.SOAPAction, result.xml,
this.user, this.password,
this.connectTimeOut, this.sendTimeOut, this.recvTimeOut,
this.attachments, this.acceptfastinfoset );
在下面添加以下代码:
//Print your request
print(result.xml)
//Send your xml request to a internal log called integration_debug.log in your app server
writeFile("../logs/integration_debug.log","a","\n");
writeFile("../logs/integration_debug.log","a","######### REQUEST INFO XML######\n");
writeFile("../logs/integration_debug.log","a",system.functions.tod()
+ "\n"
+ result.xml
+ "\n"
+ "\n");
对于您客户的回复,请查找这部分代码:
if ( soapOp.responseObj == "null" ) // one-way MEP ?
{
return null;
}
var resultObj = new Object();
resultObj.responseObj = soapOp.responseObj;
在下面添加以下代码:
//Print your customer response
print(this.resultXML.getDocumentElement())
//Send your xml response to a internal log called integration_debug.log in your app server
writeFile("../logs/integration_debug.log","a","\n");
writeFile("../logs/integration_debug.log","a","######### RESPONSE INFO XML#######\n");
writeFile("../logs/integration_debug.log","a",system.functions.tod()
+ "\n"
+ this.resultXML.getDocumentElement()
+ "\n"
+ "\n");
作为参考,您可以查看下图以确定插入代码的位置: