0
다음 코드는 SOAP 데이터베이스를 통해 Oracle 데이터베이스에 연결하고 XML Blob을 생성하여 화면에 표시합니다.잘못된 입력/문서 URL 오류
다음과 같은 오류가 발생하여 이유를 파악할 수 없습니다.
array(3) {
["faultcode"]=>
string(11) "soap:Client"
["faultstring"]=>
string(22) "Error processing input"
["detail"]=>
array(1) {
["OracleErrors"]=>
string(39) "
Incorrect Input Doc/URL
"
}
}
저장 프로 시저를 호출 할 때 다음 함수를 사용하고 있습니다.
또한CREATE OR REPLACE PACKAGE BODY vivouser.json_exports IS
-- @Oracle bexV2
PROCEDURE getusers(sessionhash IN VARCHAR2,
usersdata OUT XMLTYPE)
IS
p_companyid number;
p_storegroupid number;
p_userid number;
BEGIN
bexcore.checksessionid(sessionhash, p_companyid, p_storegroupid, p_userid);
usersdata := bexcore.CreateXMLData(
'select userid,
tbu.companyid,
tbu.firstname,
tbu.middlename,
tbu.lastname,
tbu.gender,
tbu.payrollnumber,
tbu.ismanager,
tpt.description,
tpt.wagerate
from tbuser tbu
left join tbposition tbp using (USERID)
left join tbpositiontype tpt using (POSITIONTYPEID);'
);
END getusers;
END json_exports;
이, 유의하시기 바랍니다 :
function getUsersData(){
$xmlfunc = 'GETUSERS';
$pkg = 'JSON_EXPORTS';
$inparam = array("SESSIONHASH-VARCHAR2-IN" => $_SESSION['sessionhash']);
$outparam = array("USERSDATA-XMLTYPE-OUT");
$oradb = oradb::getconnection();
$oradb->newxml($xmlfunc,$pkg,$inparam,$outparam);
$result = $oradb->getxml(false,false,false,true);
print_r($result);
}
이
내가 부르고 저장 프로 시저입니다 $ _SESSION [ 'sessionhash'] 논리 해시 값으로 입증된다. 이 형식을 사용하는 다른 모든 비누 호출은 예상대로 작동합니다. Bexcore.checksessionid는 bexcore.createXmlData와 마찬가지로이 오류의 원인이 아닌 유효한 것으로 입증되었습니다 (이들은 각각 동일한 방식으로 수천 개의 다른 경우에 사용되어 예상대로 실행됩니다).