我创建了一行代码,用于从 SOAP 服务读取数据。但我有一个小问题。我在这个任务中使用 JSONP Lib,但没有产生结果。我尝试用更少的代码来读取数据库查询的输出,结果是成功的。这两种方法有区别吗?第一个我做的 PHP 代码将数组转成 json 的形式:
<?php
error_reporting(0);
header('content-type:application/json;charset=UTF-8');
date_default_timezone_set("Asia/Jakarta");
require_once('lib/nusoap.php');
$Param1 = "bertho_joris@yahoo.co.id";
$Param2 = "12345";
$client = new nusoap_client('http://vcare.telkomvision.net.id/services/VcareServices.php');
$ReadSOAP = $client->call('validateLogin', array('EMAIL' => $Param1, 'PASSWORD' => md5($Param2)));
echo '{"items":['. json_encode($ReadSOAP) .']}';
?>
上述代码产生的数据是:
{
"items": [
{
"NE": "42616324457",
"EMAIL": "bertho_joris@yahoo.co.id",
"TIPE": "POSTPAID",
"NAMA": "ALBERTHO MALAQUENA JORIS/NPK:120488047",
"TELP": "081310117966 / 087878837451",
"DN": "127225148174",
"STATUS_LOGIN": "1",
"DESC_LOGIN": "Valid"
}
]
}
我使用下面的库来处理稍后在我的应用程序中读取的输出数据: JSONP 库
JSONP.get( 'MyURL.php', {Email:'MyEmail', Password:'MyPass'}, function(data){
for ( var i = 0; i < response.length; ++i ) {
str = response[i].ne;
str2 = response[i].email;
str3 = response[i].tipe;
str4 = response[i].nama;
str5 = response[i].telp;
str6 = response[i].dn;
str7 = response[i].desc_login;
}
});
但我得到的结果是:我的应用程序无法直接从上面的 SOAP 读取数据输出。我很困惑为什么会这样。而且我认为 JSON 格式是正确的。
然后我尝试直接从数据库中读取数据。这个数据库是一个样例,我不小心把上面的SOAP读取过程的输出做成了一样的数据。
结果,我成功拿到了数据。
我包括两个用于阅读的链接。
请帮我解决我的问题。我想使用输出 JSON 的 SOAP 表单直接从流程中读取数据。正如我所说的失败。
谢谢