2013-01-24 65 views
0

我需要與Web服務交流構建.NET(我認爲),但是當我嘗試調用一個方法,返回此錯誤:PHP錯誤時嘗試執行.NET Web服務方法

The SOAP action specified on the message, '', does not match the HTTP SOAP Action, ' http://tempuri.org/TripointWebservicesVersionedGeneral/Ping '.

代碼連接到網絡服務和執行方法:

$client = new SoapClient(
        '...?wsdl', 
         array(
          'trace' => 1, 
          'soap_version' => SOAP_1_2 
         ) 
        ); 

//$test = $client->__soapCall('Ping',array('')); 
$test = $client->Ping(); 

這個錯誤的原因是什麼?或者我需要做什麼來調用一個方法?

我已經看過這個PHP Fatal error: "The SOAP action specified on the message, '', does not match the HTTP SOAP Action",並且把肥皂連接選項"'action' => '.../Ping'",但是不幫助我。

+0

爲了消耗你需要知道的功能結構的服務。嘗試閱讀您需要調用的函數的wsdl定義。 –

回答

1

我已經找到了,爲什麼我不能調用該方法的,其原因就是因爲這個:

其中一個問題: PHP返回「被捕獲的異常:無法處理消息,因爲內容類型'text/xml; charset = utf-8'不是預期的類型'application/soap + xml; charset = utf-8 '「。

原因: WCF正在運行比PHP預期的新版本的Web服務。

解決辦法:

變化從結合= 「的wsHttpBinding」 到裝訂= 「basicHttpBinding的」 綁定類型WCF服務的。

這可以確保您的.NET Web服務能夠支持符合WS-I標準的客戶端和其他服務。

URL來源: http://spacebug.com/php-calling-wcf-part-1-html

相關問題