您好我似乎已經創建了一個使用asp.net的SOAP webservice,並使用PHP客戶端來測試它以獲取數據。並且它似乎爲獲取數據服務工作。從PHP客戶端發佈一個int到一個asp.net webservice始終是0
public void DeleteBook(int categoryId)
{
using (var conn = new OdbcConnection(connectionString))
{
conn.Open();
using (var command = new OdbcCommand())
{
command.Parameters.Add(new OdbcParameter("@CategoryId", categoryId));
command.CommandText = "DELETE FROM Books WHERE CategoryId = @CategoryId";
command.ExecuteNonQuery();
}
}
}
這裏是我的PHP SOAP客戶端:
當我嘗試發佈data.It看來,服務器總是收到價值0.Here是我的asp.net web服務代碼出現問題代碼:
$client = new SoapClient($url);
if(isset($_POST["id"])){
$id = $_POST["id"];
echo $id;
$client->DeleteBook($id);
}
我調試的服務,似乎DeleteBook方法得到的打擊,但問題是,在類標識符是已0
我在做什麼錯?
你傳遞一個字符串,但端點期待一個整數。這可能是字符串被轉換爲0。但這只是一種猜測,並非真正的分析。 – hakre
幹什麼categoryId在DeleteBook函數中顯示?這與你的Post請求在php中是一樣的嗎?如果相同,ExecuteNonQuyery會返回數據庫中的多少行效果。我的意思是,如果1條記錄有效,那麼將返回1.如果2條記錄有效,那麼將返回2.如果沒有行被執行,則返回0.有意義嗎?這是我的觀點。 –