2013-03-06 59 views
1

我有一個帶有位置的wsdl文件,我想通過soap發送請求值,我正在嘗試以下方案。但它沒有調用wsdl函數。請幫助我如何發送肥皂請求參數。如何在php中使用soap將參數發送到wsdl文件

<xs:complexType name="wsNotification"> 
<xs:sequence> 
    <xs:element maxOccurs="unbounded" minOccurs="0" name="notificationList" nillable="true" type="tns:notificationsParam"/> 
</xs:sequence> 
</xs:complexType> 
<xs:complexType name="notificationsParam"> 
<xs:sequence> 
    <xs:element minOccurs="0" name="email" type="xs:string"/> 
    <xs:element minOccurs="0" name="phone" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 

下面的代碼我使用在PHP中使用肥皂功能

$client = new SoapClient("http://192.100.1.8:8080/getAPI/ws/WSNotification?wsdl", 
           array('email'  => "[email protected]", 
             'phone'  => "97122555") 
         ); 
echo "Response:\n" . $client->__getLastResponse() . "<br>"; 

我沒有得到從WSDL任何迴應時,我調用上面肥皂函數調用WSDL。請幫助我如何發送參數從PHP到肥皂。

回答

0

不知道你是否已經有了這個答案。但之前我使用nusoap toolkit來實現這一點。

  1. 下載包並把文件在項目文件夾
  2. 包括庫在你的代碼

    require_once( '的lib/nusoap.php');

  3. 編寫代碼

看你的XML,這可能做的伎倆

$client=new nusoap_client('http://192.100.1.8:8080/getAPI/ws/WSNotification?wsdl', 'wsdl'); 

$login=array('email'=>'[email protected]', 'phone'=>'97122555'); 
$response= $client->call('notificationsParam', array('parameters' => $login)); 

if ($client->fault) { 
echo '<h2>Fault</h2><pre>'; 
print_r($response); 
echo '</pre>'; 
} else { 
$err = $client->getError(); 
if ($err) { 
    echo '<h2>Error</h2><pre>' . $err . '</pre>'; 
} else { 

print_r($response); 

} 
} 
相關問題