我试图在PHP中制作一个肥皂服务器并且效果很好,只有wsdl需要一个属性OptIn,如:
<EmailAdresses>
<Email OptIn="true">email@domain.com</Email>
</EmailAdresses>
是否有适用于属性的好的php库/类? 这样Web服务就可以以某种方式返回一个数组或类似的东西,并将那些收入转换为带有属性的xml。
或如何使用php的标准soap服务器? 因为很难找到好的文档。
提前致谢
答案 0 :(得分:2)
我使用过多种语言编写的SOAP服务,我从未见过使用XML属性的服务 - 它们总是只使用元素内部带有值的XML元素(字符串或其他元素) )。
我并不是说你不能使用属性,但似乎简单的名称 - 值对更适合大多数编程语言想要使用的数据结构(即简单变量或数组树)
但你的问题激起了我的好奇心,所以我已经为你做了一些挖掘。
正如你所说,PHP手册似乎并没有特别关注这个主题(这很不寻常 - 它通常是一个非常好的资源),但如果你真的想在SOAP XML中创建属性,我做了找一些可能有帮助的片段。
有几次出现的建议是在数据结构中使用下划线作为数组元素,然后这将成为元素的值,其他数组键将成为属性。像这样:
$mydata = array('EmailAdresses' => array(
'Email' => array(
'_' => 'email@domain.com',
'OptIn' => 'true')
)
);
我发现的另一个建议是使用PHP的SimpleXML库将其创建为对象而不是数组,因为这显然允许创建XML属性。
抱歉,我现在没时间测试这些建议,但我希望有所帮助。