0

WSDL フォーム SoapClient の読み取りに成功しました。Webメソッドに値を渡して結果を読み取るために、次のことを試みました。

 $client = new SoapClient("restaurant.asmx?wsdl");
 $param = array('search_keywords'=>$search_text); 
 $result =  $client->__soapCall('getRestaurantsASP',$param);
 print_r($result);

このエラーが発生しました:

Fatal error: Uncaught SoapFault exception: [soap:Server]
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> 
System.Data.SqlClient.SqlException: Invalid object name 'basic_info_table'. at 
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean   
breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 
exception, Boolean breakConnection) at 
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at 
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, 
SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject 
stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at 
System.Data.SqlClient.SqlDataReader.get_MetaData() at 
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior 
runBehavior, String resetOptionsString) at 
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, 
RunBehavior runBehavior in E:\webareas\gs937\aspservice.php on line 73

パラメータを Web メソッドに送信して値を取得するにはどうすればよいですか?

4

2 に答える 2

0

DaveRandom が示唆しているように、問題はサービスに使用される SQL クエリではなく、サービス自体にあるようです。

SoapUI ( http://sourceforge.net/projects/soapui/files/からダウンロードできます) を使用してみて、そこからサービス メソッドを実行します。

SoapUI は、Web サービスをテストする中立的なクライアントです。

それが役立つことを願っています。

于 2012-04-27T12:09:19.643 に答える
0

追加する必要がありました:

<webServices>
<protocols>
  <add name="HttpGet"/>
  <add name="HttpPost"/>
  <add name="HttpSoap"/>
</protocols>
</webServices>

物事を機能させるためにWeb.configファイルで。

于 2012-04-29T19:14:58.190 に答える