我试图通过在 application.cfm/cfc 中的请求被 CFC Web 服务代码处理之前停止请求来控制对 Web 服务方法的访问。基本上,我想查看正在请求什么方法,并在必要时立即中止请求。
对于 RESTful 连接,我可以查看 URL 和 FORM 范围以确定正在调用哪个方法。但是对于 SOAP 请求,被请求的方法嵌入在 XML SOAP 消息中,如果不使用 getHttpRequestData(),我似乎无法访问它,这会破坏 SOAP 请求!
我试过使用 getPageContext().getRequest()... 但无论如何都找不到访问 SOAP 消息的方法。
是否有其他方法可以查看 XML SOAP 消息或确定正在调用哪个 Web 服务方法?
最佳答案
尝试拦截onRequestStart()
中的请求或 onCFCRequest()
Application.cfc 中的事件处理程序。您描述的用例听起来好像 onCFCRequest()
是你的处理程序。
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSe821657cd7d6f83f6daaa733122cf6931bb-8000.html
如果这不能解决您的问题,请查看 getSOAPRequestHeader()
的文档。功能。这可能会让你朝着正确的方向前进。
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6ca1.html
关于soap - 冷聚变 9 : View SOAP XML before processing it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068012/