Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP和NuSOAP在XML响应中向标记添加属性?_Php_Xml_Soap - Fatal编程技术网

如何使用PHP和NuSOAP在XML响应中向标记添加属性?

如何使用PHP和NuSOAP在XML响应中向标记添加属性?,php,xml,soap,Php,Xml,Soap,我需要在XML格式的响应中添加一个可变值作为属性。我已经使用NuSoap创建了WSDL、解析请求和创建了XML响应。我现在面临的问题是,根据文档,必须在标记内的某个点插入一个属性,如下所示: <ns1:Expression code="Accepted/Rejected"/> 外部标签: $server->wsdl->addComplexType( 'Response', 'complexType', 'array', '',

我需要在XML格式的响应中添加一个可变值作为属性。我已经使用NuSoap创建了WSDL、解析请求和创建了XML响应。我现在面临的问题是,根据文档,必须在标记内的某个点插入一个属性,如下所示:

<ns1:Expression code="Accepted/Rejected"/>
外部标签:

$server->wsdl->addComplexType(
    'Response', 
    'complexType', 
    'array', 
    '',
    'SOAP-ENC:Array', 
    array(),
    array(
    // 'Expression' must be a self closing tag,  with no value, just 1 attribute
        'Expression' => array('name' => 'Expression', '_' => 'code'),
        'Status' => array('name' => 'Status', 'type' => 'tns:Status')
    )
);
我已经在文档中搜索到无效,因为我需要将此作为响应发送


任何帮助都将不胜感激。

最后,我没有找到解决这一具体案例的方法。因此,在server.php文件中创建了一个手动生成的响应,如下所示:

<ns1:Expression code="Accepted/Rejected"/>
服务器中的函数注册:

$server->register("Process",
array('input' => 'xsd:string'),
array('output' => 'tns:ResponseStruct'),
'ns:sales',
'ns:sales#ProcessMessageUpdate');
返回XML结构的字符串:

"<Respond>".
    "<ResponseCriteria>".
        "<ResponseExpression actionCode=\"".$actionCode."\"/>".
        "<ChangeStatus>".
            "<Code>".$code."</Code>".
            "<Message>".$message."</Message>".
        "</ChangeStatus>".
    "</ResponseCriteria>".
"</Respond>"
希望这对将来的人有用