0

ASP.net WebService メソッドで返されるDataTableを適切に「消費」する方法を知りたいです。

私はこの例に取り組んでいます:

ASP.net ウェブサービス:

[WebMethod]
public DataTable searchDatabase(string search)
{

    SqlConnection conn = null;
    SqlDataReader rdr = null;
    conn = new
                    SqlConnection("Data Source=ASUSX301A\\MSSQLINSTANCE;Initial Catalog=db_sp_vaje;Integrated Security=True;Pooling=False");
    conn.Open();

    // 1.  create a command object identifying
    //     the stored procedure
    SqlCommand cmd = new SqlCommand(
        "dbo.sp_iskanje", conn); //here is my stored procedure which works 100%

    // 2. set the command object so it knows
    //    to execute a stored procedure
    cmd.CommandType = CommandType.StoredProcedure;

    // 3. add parameter to command, which
    //    will be passed to the stored procedure
    cmd.Parameters.Add(
        new SqlParameter("@myInput", search));

    // execute the command
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataTable dt = new DataTable();
    dt.TableName = "oglasi";
    dt.WriteXml(@"path", true);
    da.Fill(dt);

    // iterate through results, printing each to console


    return dt; 
}

ASP.netでもこのWebサービスを呼び出すと、正常に動作し、データテーブルからループで結果が得られます。

PHPで表示/エコーできるWebサービスからこのデータテーブルを取得するにはどうすればよいですか?

これまでのところ、私はPHPファイルにこれを持っています:(ところで:PHPでASP.netからデフォルトのHelloWorld()Webサービスメソッドを呼び出すとうまくいきます)

$client = new SoapClient("http://localhost:10994/WebService.asmx?WSDL");
$params->Param1 = "car"; //this is search variable
$result = $client->searchDatabase($params)->searchDatabaseResult;

print_r ($result);

結果は次のとおりです。 phpエラー

4

2 に答える 2

0

これを試しましたか:

$params->search = "car"; //this is search variable

私にとってはうまく機能していますが、行と列の操作方法がわかりません:-(

于 2013-06-03T07:44:06.173 に答える
0

私はこのようなことを試してみましたが、うまくいきます。

$client = new SoapClient("http://localhost/WebService.asmx?WSDL");
$result = $client->__soapCall("functionName", array($SoapCallParameters));

var_dump($result->functionNameResult);
于 2015-01-19T05:10:12.627 に答える