我想在我的php应用程序中使用TecDoc webservice
任何人都可以给我一个很好的文档,我正在搜索很多,但我仍然无法找到一个好的和清晰的。(<登记/>
提前谢谢。
更新
我在此link和此site下找到了此代码,可帮助您测试TecDoc webservice
提供的功能。
所以我尝试了getMarkById
函数,它工作正常(在网站上),然后我在我的php应用程序中尝试这种方式(使用相同的参数):
ini_set('memory_limit','512M');
ini_set('display_errors', true);
error_reporting(-1);
/**
* Load autoload
*/
require_once dirname(__FILE__) . '/TecDocAutoload.php';
/**
* TecDoc Informations
*/
define('TECDOC_WSDL_URL','http://webservicepilot.tecdoc.net/pegasus-2-0/wsdl/TecdocToCat');
define('TECDOC_USER_LOGIN','');
define('TECDOC_USER_PASSWORD','');
/**
* Wsdl instanciation infos
*/
$wsdl = array();
$wsdl[TecDocWsdlClass::WSDL_URL] = TECDOC_WSDL_URL;
$wsdl[TecDocWsdlClass::WSDL_CACHE_WSDL] = WSDL_CACHE_NONE;
$wsdl[TecDocWsdlClass::WSDL_TRACE] = true;
if(TECDOC_USER_LOGIN !== '')
$wsdl[TecDocWsdlClass::WSDL_LOGIN] = TECDOC_USER_LOGIN;
if(TECDOC_USER_PASSWORD !== '')
$wsdl[TecDocWsdlClass::WSDL_PASSWD] = TECDOC_USER_PASSWORD;
// etc....
/**
* Examples
*/
/******************************
* Example for TecDocServiceGet
*/
$tecDocServiceGet = new TecDocServiceGet($wsdl);
if($tecDocServiceGet->getMarkById(new TecDocStructMarkByIdRequest(
'de',
'de',
true,
10,
20276
)))
var_dump($tecDocServiceGet->getResult()->data);
else
print_r($tecDocServiceGet->getLastError());
但我得到了这个结果:
object(TecDocStructMarkByIdResponse)[5]
public 'data' => null
public 'status' => int 401
public 'statusText' => string 'Access not allowed' (length=18)
private 'result' (TecDocWsdlClass) => null
private 'lastError' (TecDocWsdlClass) => null
private 'internArrayToIterate' (TecDocWsdlClass) => null
private 'internArrayToIterateIsArray' (TecDocWsdlClass) => null
private 'internArrayToIterateOffset' (TecDocWsdlClass) => null
我不知道为什么我不允许访问此功能!!
答案 0 :(得分:1)
1.4访问控制 在每个请求函数中都有一个integer类型的参数提供程序。 TECDOC 将此编号分配给每个执行人员。评估它以验证强制器 并将请求与请求的IP地址一起授权。静电 IP地址或强制器的地址由TecDoc根据 强制要求提供的信息。 可以使用webservice“addDynamicAddress()”。这是第一个Web服务 在本文档中描述。
正如文档中所述,您需要此提供者标识才能读取数据。