Атрибут в SOAP PHP - PullRequest
       1

Атрибут в SOAP PHP

0 голосов
/ 28 сентября 2018

Я пытаюсь воспроизвести XML в PHP SOAP , и я застреваю, когда пытаюсь установить атрибут .

Пример:

  • что я хочу воспроизвести
  • Как выглядит мой код:

    $ headerToken = new \SoapHeader ($ asxm, 'fueloauth', $ auth ['accessToken']);

    $ headerContentType = new \ SoapHeader ($ asxm, 'Content-Type', 'text / xml');

    $ headerSAOPAction = new \ SoapHeader ($ asxm, 'SOAPAction', 'Retrieve');

    $soapClient = new \SoapClient(
        $wsdl,
        array(
            'trace'      => true,
            'location'   => $asxm,
            'soapaction' => 'retrieve',
            'exceptions ' => true,
        )
    );
    
    $soapClient->__setSoapHeaders(array($headerToken,$headerContentType,$headerSAOPAction));
    
    $RetrieveRequest = new \stdClass();
    
    $properties = array();
    $properties[] =  new SoapVar('email', XSD_STRING);
    $properties[] =  new SoapVar('lastclick', XSD_STRING);
    
    
    $filterClass = new \stdClass();
    $filterClass->Property = 'created_at';
    $filterClass->SimpleOperator = 'greaterThanOrEqual';
    $filterClass->Value = '08/28/2018 00:00:00 AM ';
    
    $params = array();
    $params['ObjectType'] = new SoapVar('DataExtensionObject[foo]', XSD_STRING, null, null, 'ObjectType' );
    $params['Properties'] = $properties;
    $params['Filter'] = new SoapVar($filterClass, SOAP_ENC_OBJECT);
    
    
    $RetrieveRequest->RetrieveRequest = $params;
    
  • Что я получаю с этим кодом

Как видите, он пропускает атрибут фильтра:

    <Filter xsi:type="SimpleFilterPart">

Кто-то знает, как я могу это сделать в PHP SOAP?

Я уже пробовал что-то подобное, но это не работает ..

array("foo" => array("_" => "cheese", "bar"=>"moo"));

Спасибо!

1 Ответ

0 голосов
/ 29 сентября 2018

Самый простой способ создать запрос, не задаваясь вопросом, как его создать, тогда вам следует использовать генератор WSDL to PHP, такой как проект PackageGenerator .Его использование создаст для вас связанные классы для каждого параметра, который вам нужно отправить, включая заголовок.Обработка ответа также будет легче.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...