【问题标题】:Cakephp 3.x and accepting third party xml dataCakephp 3.x 和接受第三方 xml 数据
【发布时间】:2023-04-07 15:47:01
【问题描述】:

我们的客户正在将文件发送给第三方并由他们存储。第三方收到文档后,会将 xml 数据发送到我们提供给他们的 url(例如https://example.com/Documents/receive)。我们的第三方要求我们向他们发送回复,说我们收到了他们的请求。我们创建了一个供应商库并将其自动加载到我们的应用程序中。出于某种原因,当我们伪造来自第 3 方的请求时,我们会被重定向回我们的登录页面,就好像什么都没发生一样。这是我们的控制器。

class DocumentsController extends AppController {

    public function beforeFilter(Event $event) {
        parent::beforeFilter($event);
        $this->Security->config('unlockedActions', ['receive']);
        $this->Auth->allowedActions = (['receive']);
    }
   public function receive()
    {
        $this->request->allowMethod(['post']);
        $this->autoRender = false;
        $doc = new \Document\Document(false);
        $doc->set_user_name("username");
        $doc->set_user_password("password");
        $xml = $this->request->data['xml'];
        try {
            if($doc->parse_inbound_message($xml)) {
                $parsed = $doc->getContent();
                $file = new File('files/playground/test_file.xml', true, 0644);
                $file->open();
                //$file->write(print_r($parsed, true));
                $file->write('Hey, I parsed!');
                $file->close();
            } else {
                $file = new File('files/playground/test_file.xml', true, 0644);
                $file->open();
                $file->write('we got a false');
                $file->close();
            }
        } catch(\Document\DocumentException $e){
            $file = new File('files/playground/test_file.xml', true, 0644);
            $file->open();
            $file->write($e->getMessage());
            $file->close();
        }
    }
}

【问题讨论】:

    标签: php xml cakephp-3.0


    【解决方案1】:

    食谱似乎有问题。试试这个:

    public function beforeFilter(Event $event) {
      parent::beforeFilter($event);
      $this->Auth->allow(['receive']);
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多