Я обнаружил, что вы можете создать это в SOAP в php:
<foo bar="blah">12345</foo>
С этим:
array("foo" => array("_" => 12345, "bar" => "blah"));
Однако метод подчеркивания, похоже, не работает, когда значение не является числом и строкой, а вместо этого встроенный код xml . Как бы вы сделали это, например?
<foo bar="blah"> <aaa a="b">blah</aaa> </foo>
Это продолжение вопроса этого человека: http://www.bigresource.com/Tracker/Track-php-uQwDoUib/
У меня нет быстрого способа тестирования, но, возможно, это сработает:
$a = array( 'foo' => array( 'bar' => 'blah', 'aaa' => array( '_' => 'blah', 'a' => "b", ), ), );
Как вы можете добавить атрибут к узлу, который является функцией;
$update = $soap->UpdateMember($pRecord);
или
$update = $soap->__soapCall('UpdateMember', array($Updates));
Мне нужно добавить атрибут namescape или xmlns к фактическому имени функции здесь. Я получаю следующее;
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/"> <SOAP-ENV:Body> <ns1:UpdateMember> MORE XML HERE </ns1:UpdateMember> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
но мне нужно
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/"> <SOAP-ENV:Body> <ns1:UpdateMember xmlns="http://www.sample.net/"> MORE XML HERE </ns1:UpdateMember> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Необходимо иметь ns1: UpdateMember xmlns: ns1 = "http://www.sample.net/" или что-то подобное.