我们使用Web服务(cobol代码)生成xml,我们在其中执行
XML GENERATE以从副本生成xml.现在生成的XML由[·,Ý,¨]等特殊字符组成,这些字符在SOAP响应中正确显示.但是当在http日志中查看相同的消息时,字符将转换为HEX,如下所示:
SOAP响应:
SOAP响应:
<StatusDesc>capital one bank Ýusa¨,n.a</StatusDesc>
Http日志:
<StatusDesc>capital one bank [0xc3][0x9d]usa[0xc2][0xa8],n.a</StatusDesc>
现在要处理这个问题,我们尝试使用WITH ENCODING 1208子句来执行XML GENERATE以支持UTF-8编码.这反过来以不可读的格式生成XML,并且SOAP响应中没有任何内容可读.所以不确定我们是否错过了这里的任何内容,或者这不是我们应该如何处理http日志中的HEX字符.
?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:mes="http://MessageView/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body>mes:ÃŒ_%€ÎÃÂÃÅËÑ?>‚‘‚€ÃÂ>Ä?ÀÑ>łÃÂè㘂žÂÂÄÄÈñ>Ã?ñ>Éê˞ìëÈ/ÈÃÂ˞ëÈ/ÈÃÂËä?ÀÞ‘™ÂÂëÈ/ÈÃÂËä?ÀÞëÃÂÃÅÃŽÃÂÃÅëÃ
问题是有没有办法处理这些字符,以便http日志中的十六进制字符转换为正确的显示.这应该在Cobol Web服务中完成,还是我们需要某种转换来处理z / os之外的http日志.