SOAP-ERROR:解析模式:**元素具有'type'属性和子类型

时间:2014-02-25 13:01:53

标签: php oracle web-services

我试图在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是VARCHAR2(2000)INDEX by BINARY_INTEGER;

功能接受(VARCHAR2中的HEADER_ID,VARCHAR2中的P_NOTE)返回号码;

程序REQUEST_CHANGE(数字为HEADER_ID,POSPLIT为P_POSP);

结束ORACLE_PKG_R;

PHP: $一个 = $ _ POST [ 'HEADER_ID'];
$ ARRAY1 =阵列( 'Romit', '22', '33', '44', '66', '2014年2月28日');
$ headerbody = array('Responsibility'=>'APPLICATION_DEVELOPER','RespApplication'=>'FND',                     'SecurityGroup'=> '标准', 'NLSLanguage'=> '美国',                      '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,$阵列1);
}
catch(SOAPFault $ f)
{
ECHO'ERROR'。 $ F;
}

我现在能做什么?有人请帮帮我......

1 个答案:

答案 0 :(得分:0)

目前,您已将对象用于自己的数据收集

请参阅以下链接以获取解决方案

Is it possible to pass objects to PL SQL package procedure as parameters?

http://docs.oracle.com/cd/B13789_01/appdev.101/b10807/10_objs.htm