简体   繁体   English

WSO2 PHP框架间歇性地不解密响应

[英]WSO2 PHP framework is intermittently not decrypting response

My PHP service consumer has been running for a couple of years without any problems and there have been no changes but for the last week, the service response is sometimes not decrypted. 我的PHP服务使用者已经运行了两年,没有任何问题,并且没有任何变化,但是在上周,服务响应有时未被解密。 Or at least that's how it seems. 或者至少是这样。

The same code, using the same certificates will produce a readable xml response when using "object(WSMessage)->str" one moment and encrypted data the next. 当使用“ object(WSMessage)-> str”一次并使用加密的数据时,使用相同证书的相同代码将产生可读的xml响应。

I've used $client->getLastResponse() and this is showing the encrypted data in the soap body which is normally decrypted at that stage. 我使用了$ client-> getLastResponse(),它显示了肥皂体内的加密数据,该数据通常在该阶段被解密。

Is there anyway to retrieve the message before decryption? 无论如何,解密前是否有检索消息的信息?

Or does anyone know why this might be occuring? 还是有人知道为什么会这样?

Well I'm glad to say I've finally got to the bottom of this and I hope this will stop anyone else going through the same. 好吧,我很高兴地说我终于明白了这一点,我希望这将阻止其他任何人经历同样的事情。 Part of the WS-Security required a timestamp in the header information. WS-Security的一部分在标头信息中需要一个时间戳。 Now I don't know if the producer server time had slipped forward or my consumer server time slipped backwards but intermittantly, when the network was nice and quick, the timestamp in the response was ahead of the consumer server time by 1 second or so and this caused the WSO2 framework to not decrypt the message rather than advise of the timestamp discrepency. 现在我不知道生产者服务器时间是向前滑动还是消费者服务器时间向后滑动,但是间歇性地,当网络运行良好且快速时,响应中的时间戳比消费者服务器时间提前了1秒钟左右,因此这导致WSO2框架不解密消息,而没有告知时间戳差异。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM