在PHP中调用SOAP调用中的可选参数

时间:2010-11-26 17:16:02

标签: php xml soap

我的SOAP调用格式需要是:

<?xml version="1.0" encoding="UTF-8"?>  
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">  
<SOAP-ENV:Body>  
    <ns1:FunctionName>  
        <ns1:HostUserName>hostuser</ns1:HostUserName>  
        <ns1:HostPassword>pass</ns1:HostPassword>  
        <ns1:OwnerName>owner</ns1:OwnerName>  
        <ns1:UserName>user</ns1:UserName>  
        <ns1:OptionalParam>  
            <ns1:Parameters>  
                <ns1:Parameter Name="FirstName">First<ns1:/Parameter>  
                <ns1:Parameter Name="LastName">Last<ns1:/Parameter>  
            <ns1:/Parameters>  
        </ns1:OptionalParam>  
<ns1:/FunctionName>  
</SOAP-ENV:Body>  

如何在PHP请求中表示这一点? 我建立了这样的请求:

    $client = new SoapClient($url,array('trace' => 1)); 
    $data['HostUserName']=$this->hostname;
    $data['HostPassword']=$this->hostpassword;
    $data['OwnerName']=$this->ownername;
    $data['UserName']=$username;
    $data['FirstName']=$FirstName;
    $data['LastName']=$LastName;
    $result = $client->FunctionName($data);

我尝试了几种构建数组,SOAPVAR和SOAPPARAM的组合,但没有任何效果。 目标SOAP服务器是基于.NET的。

有什么建议吗?

由于

0 个答案:

没有答案