【发布时间】:2014-03-27 17:25:17
【问题描述】:
我正在尝试在 php 代码点火器中调用使用 Oracle 的 Web 服务。在我的 oracle 包中,有程序。其中,我传递了 2 个参数。第一个是数字类型,第二个是嵌套表。当我尝试执行它时,它给了我这样的错误,
"Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: **element has both
'type' attribute and subtype** in
/opt/lampp/htdocs/supplier_R/application/models/split_model.php:294 thrown in
/opt/lampp/htdocs/supplier_R/application/models/split_model.php on line 294"
程序: 创建或替换包 ORACLE_PKG_R AUTHID CURRENT_USER AS
TYPE POSPLIT IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;
函数接受(VARCHAR2 中的 HEADER_ID,VARCHAR2 中的 P_NOTE)返回编号;
PROCEDURE REQUEST_CHANGE(HEADER_ID IN NUMBER,P_POSP IN POSPLIT);
结束ORACLE_PKG_R;
PHP:
$a=$_POST['HEADER_ID'];
$array1=array('Romit','22','33','44',' 66','02-28-2014');
$headerbody = array('Responsibility' => 'APPLICATION_DEVELOPER','RespApplication' => 'FND',
'SecurityGroup'=>'STANDARD','NLSLanguage'=>'AMERICAN',
'Org_Id'=>null);
$wsdl_demo = 'http://*/SOAProvider/plsql/proc_call/?wsdl';
$webservice =新的 WSSoapClient($wsdl_demo);
$webservice->__setUsernameToken("sysadmin", "admin@123","PasswordText");
试试
{
$result = $webservice-> REQUEST_CHANGE($a,$array1);
}
捕获 (SOAPFault $f)
{
回声“错误”。 $f;
}
我现在能做什么?任何人请帮助我...
【问题讨论】:
-
谁能告诉我为什么会出现这个错误? Bcoz 执行soapclient 语句“$webservice = new WSSoapClient($wsdl_demo);”时出现问题。它在 SOAPUI 测试软件中完美运行。请告诉我如何解决这个错误。
标签: php oracle web-services