|
|
|
ติดปัญหา php 2-3 ข้อครับ ช่วยด้วย เกี่ยวกับ Web Services ค่า schemaTargetNamespace setตรงไหน |
|
|
|
|
|
|
|
มันจะเป็น NameSpace ตอนที่เรียกใช้งานครับ จะไม่กำหนดก็ได้ครับ หรือไม่ลองดูในบทความว่ารันได้หรือไม่ แล้วค่อย ๆ ทำความเข้าใจครับ
|
|
|
|
|
Date :
2015-02-09 10:33:09 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วทำไมผมรันไม่ออกอะครับ งง??
code เหมือนกันทุกอย่าง แต่ของผม error และลอง test db แล้วก็ connect และแสดงค่าได้ปกติ หรือเพราะผมใช้ php คนละ version หรือเปล่าครับ เพราะตอนนี้ งง ไม่รู้ตรงไหนผิดอะ
webserver.php
Code (PHP)
<?php
require_once("lib/nusoap.php");
//Create a new soap server
$server = new soap_server();
//Configure our WSDL
$server->configureWSDL("getCustomer");
//Add ComplexType
$server->wsdl->addComplexType(
'DataList',
'complexType',
'struct',
'all',
'',
array(
'CustomerID' => array('name' => 'CustomerID', 'type' => 'xsd:string'),
'Name' => array('name' => 'Name', 'type' => 'xsd:string'),
'Email' => array('name' => 'Email', 'type' => 'xsd:string'),
'CountryCode' => array('name' => 'CountryCode', 'type' => 'xsd:string'),
'Budget' => array('name' => 'Budget', 'type' => 'xsd:float'),
'Used' => array('name' => 'Used', 'type' => 'xsd:float')
)
);
//Add ComplexType
$server->wsdl->addComplexType(
'DataListResult',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:DataList[]')
),
'tns:DataList'
);
//Register our method and argument parameters
$varname = array(
'strCountry' => "xsd:string"
);
// Register service and method
$server->register('resultCustomer', // method name
$varname, // input parameters
array('return' => 'tns:DataListResult'));
function resultCustomer($strCountry)
{
$objConnect = mysqli_connect("localhost","root","","test") or die(mysql_error());
$strSQL = "SELECT * FROM customer WHERE 1 AND CountryCode like '%".$strCountry."%' ";
$objQuery =mysqli_query($objConnect, $strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
return $resultArray;
}
// Get our posted data if the service is being consumed
// otherwise leave this data blank.
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
// pass our posted data (or nothing) to the soap service
$server->service($POST_DATA);
exit();
?>
webclient.php ลองดู error นะครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com</title>
</head>
<body>
<form name="frmMain" method="post" action="">
<h2>Search Customer</h2>
Search by Country Code
<input type="text" name="txtCountry" value="<?php echo $_POST["txtCountry"];?>">
<input type="submit" name="Submit" value="Submit">
</form>
<?php
if($_POST["txtCountry"] != "")
{
include("lib/nusoap.php");
$client = new nusoap_client("http://localhost/nusoap/WebServiceServer.php?wsdl",true);
$params = array(
'strCountry' => $_POST["txtCountry"]
);
$data = $client->call('resultCustomer', $params);
//echo '<pre>';
//var_dump($data);
//echo '</pre><hr />';
if(count($data) == 0)
{
echo "Not found data!";
}
else
{
?>
<table width="500" border="1">
<tr>
<td>CustomerID</td>
<td>Name</td>
<td>Email</td>
<td>CountryCode</td>
<td>Budget</td>
<td>Used</td>
</tr>
<?php
foreach ($data as $result) {
?>
<tr>
<td><?php echo $result["CustomerID"];?></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Email"];?></td>
<td><?php echo $result["CountryCode"];?></td>
<td><?php echo $result["Budget"];?></td>
<td><?php echo $result["Used"];?></td>
</tr>
<?php
}
}
}
?>
</body>
</html>
|
|
|
|
|
Date :
2015-02-09 11:27:33 |
By :
paravatee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมแก้ได้แล้วครับ เป็นเพราะ editplus ที่ผมใช้ แต่ที่นี้ถ้าผมจะให้มันรับช่อง textbox 2 กล่องต้องทำไงคับ
ตรง ผมเพิ่มแบบนี้ถูกมั้ยครับ
Code (PHP)
// Register our method and argument parameters
$varname = array(
'strCountry' => "xsd:string",
'strCustomerID' => "xsd:string"
);
$server->register('resultCustomer',$varname, array('return' => 'xsd:string','return' => 'xsd:string'));
function resultCustomer($strCountry,$strCustomerID)
{
และ ทางฃฝั่ง client ผมเพิ่ม code แบบนี้ ปัญหาคือทำไมมันไม่ทำงาน
Code (PHP)
<form name="frmMain" method="post" action="">
<h2>Search Customer</h2>
Search by Country Code
<input type="text" name="txtCountry" value="<?php echo $_POST["txtCountry"];?>">
<input type="text" name="txtCustomerID" value="<?php echo $_POST["txtCustomerID"];?>">
<input type="submit" name="Submit" value="Submit">
</form>
<?php
if($_POST["txtCountry"] != "")
{
include("lib/nusoap.php");
$client = new nusoap_client("http://localhost/LAB/01/nusoap/WebServiceServer?wsdl",true);
/*$params = array(
'strCountry' => $_POST["txtCountry"],
'strName' => $_POST["txtCustomerID"]
); */
$data = $client->call('resultCustomer', array(
'strCountry' => $_POST["txtCountry"],
'strName' => $_POST["txtCustomerID"]));
|
|
|
|
|
Date :
2015-02-11 15:44:21 |
By :
paravatee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมสงสัยเวลาทำงานบน EditPlus
ทำไมถึงชอบเทสหน้าเว็บบน EditPlus ครับ....
ทำไมไม่ใช่ Web Browser ในการทดสอบ
หรือว่า EditPlus มันดูง่ายกว่าครับ
แค่สงสัย
|
|
|
|
|
Date :
2015-02-12 10:11:23 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไปท่านสมาชิก
|
|
|
|
|
Date :
2015-02-12 10:17:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ความรุ้ดี
|
|
|
|
|
Date :
2015-02-12 10:57:28 |
By :
areeya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมแก้ได้อีกแล้วครับ ผมใช้ ass araay ทำให้รับได้ more argument คับ ผมหาคำตอบได้เองแล้ว ขอบคุณทุกท่านคับ
ใครพอแนะนำ hostname ที่ใช้ php mysql ดีๆๆ บ้างจะ upload เว็บ ขอแบบ strong ไม่มีปัญหานะคับ
|
|
|
|
|
Date :
2015-02-13 08:21:29 |
By :
paravatee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ของถูกและดีมีแต่หายาก งบเยอะก็ได้ของดี....แนะนำได้เท่านี้ครับ
|
|
|
|
|
Date :
2015-02-13 08:35:22 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|