2010-04-29 2 views
0

나는 웹 서비스에 익숙하지 않다. 나는 기본적인 주식 시장 웹 서비스를 만들었고, 나는 그것에 대한 서버 스크립트를 성공적으로 생성하여 내 서버에 배치했다. 이제 나는 또한 clent 스크립트를 작성하여 동일한 서버에 hruogh에 액세스했다. .. 유효합니까? 동일한 서버에서 boh 파일에 액세스 할 수 있습니까? 아니면 다른 서버에 배치해야합니까? 그렇다면 Y? No이면 빈 페이지가 나타나는 이유는 무엇입니까? webservice 용 nusoap 라이브러리를 사용하고 있습니다. 나는 내 로컬 컴퓨터에서 내 cleint 스크립트를 사용하는 경우웹 서비스 오류

나는 서버

<?php 
function getStockQuote($symbol) { 
mysql_connect('localhost','root','******'); 
mysql_select_db('pranav_demo'); 
$query = "SELECT stock_price FROM stockprices " 
. "WHERE stock_symbol = '$symbol'"; 
$result = mysql_query($query); 
$row = mysql_fetch_assoc($result); 
return $row['stock_price']; 
} 
require('nusoap/lib/nusoap.php'); 
$server = new soap_server(); 
$server->configureWSDL('stockserver', 'urn:stockquote'); 
$server->register("getStockQuote", 
array('symbol' => 'xsd:string'), 
array('return' => 'xsd:decimal'), 
'urn:stockquote', 
'urn:stockquote#getStockQuote'); 
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) 
? $HTTP_RAW_POST_DATA : ''; 
$server->service($HTTP_RAW_POST_DATA); 
?> 

<?php 
require_once('nusoap/lib/nusoap.php'); 
$c = new soapclient('http://192.168.1.20/pranav_test/stockserver.php'); 
$stockprice = $c->call('getStockQuote', 
array('symbol' => 'ABC')); 
echo "The stock price for 'ABC' is $stockprice."; 
?> 

이 도움을 주시기 바랍니다 stockclient.php에서 이러한 오류

"Deprecated: Assigning the return value of new by reference is deprecated in D:\wamp\www\pranav_test\nusoap\lib\nusoap.php on line 6506

Fatal error: Class 'soapclient' not found in D:\wamp\www\pranav_test\stockclient.php on line 3"

stockserver.php를 얻을. ..

+0

PHP는, 파일 nusoap.php의로드하여 nusoap/libnusoap.php 파일에 대한 절대 경로를 시도 할 수 없습니다. – Alex

답변

1

소스 코드를 게시하십시오.

예, 동일한 서버에도있는 클라이언트에서 웹 서비스에 액세스 할 수 있습니다.

웹 서비스를 테스트하려면 SoapUI을 권장합니다. 모든 플랫폼에서 사용 가능합니다.

PHP의 비누 확장에 nusoap을 사용하는 것이 좋습니다. 오히려 오래된 라이브러리입니다.

+0

U mean to say 같은 기계가 저를 위해 일할 수 있습니까? –

+0

맞습니다. – Alex

1

저는 PHP에 매우 익숙하지만 nusoap으로 작업 할 때 같은 오류가 발견되었습니다. 나는 PHP 5에서 (& 연산자를 사용하여) 참조를 사용하여 새로운 객체의 반환 값을 할당 할 수 없다는 것을 이해했다. 간단하게 ... 제거 : D ... 나는 그 일을했다.

1

새 PHP 버전 5x로 비누 클라이언트를 시작하려면 PHP5 비누 라이브러리 및 NuSoap 라이브러리와 충돌이 발생합니다. PHP 버전 5.3.x에 대한 최신 nusoap.php의 라이브러리 (당신은 소스 포지에서이를 얻을 수 있습니다)

다운로드

변경에 클라이언트에 다음 클래스 전화 :

$c = new soapclient 

$c = new nusoap_client 

다음을 PHP ini 파일에 추가 할 수도 있습니다.

[nusoap_deprecated] 
; Turn off deprecated messages on rendered pages 
error_reporting = E_ALL & ~E_DEPRECATED