将refcursor用作参数类型时的SOA网关xml输出
我正在尝试在我的Oracle应用程序中使用webservice。在Pl/SQL过程中,我有一个refcursor类型的out参数将refcursor用作参数类型时的SOA网关xml输出,xml,plsql,oracleapplications,Xml,Plsql,Oracleapplications,我正在尝试在我的Oracle应用程序中使用webservice。在Pl/SQL过程中,我有一个refcursor类型的out参数 PROCEDURE LISTE_FOURNISSEUR (liste_fournisseurs out SYS_REFCURSOR) 但是当我调用webservice时,我得到的响应是这种格式的 <LISTE_FOURNISSEURS> <Row> <Column name="CODE_FOURNISSEUR"
PROCEDURE LISTE_FOURNISSEUR (liste_fournisseurs out SYS_REFCURSOR)
但是当我调用webservice时,我得到的响应是这种格式的
<LISTE_FOURNISSEURS>
<Row>
<Column name="CODE_FOURNISSEUR" sqltype="VARCHAR2">1</Column>
<Column name="VENDOR_NAME" sqltype="VARCHAR2">IAM</Column>
<Column name="ICE" sqltype="VARCHAR2">1</Column>
<Column name="NIF" sqltype="VARCHAR2">1</Column>
<Column name="RC" sqltype="VARCHAR2">1</Column>
<Column name="ADDRESS_LINE1" sqltype="VARCHAR2">Casa</Column>
<Column name="CODE_PORT" sqltype="NUMBER">101</Column>
<Column name="BANK_ACCOUNT_NUM" sqltype="VARCHAR2"></Column>
</Row>
<Row>
<Column name="CODE_FOURNISSEUR" sqltype="VARCHAR2">1</Column>
<Column name="VENDOR_NAME" sqltype="VARCHAR2">IAM</Column>
<Column name="ICE" sqltype="VARCHAR2">1</Column>
<Column name="NIF" sqltype="VARCHAR2">1</Column>
<Column name="RC" sqltype="VARCHAR2">1</Column>
<Column name="ADDRESS_LINE1" sqltype="VARCHAR2">Casa</Column>
<Column name="CODE_PORT" sqltype="NUMBER">141</Column>
<Column name="BANK_ACCOUNT_NUM" sqltype="VARCHAR2"></Column>
</Row>
</LISTE_FOURNISSEURS>
1.
国际机械师协会
1.
1.
1.
家
101
1.
国际机械师协会
1.
1.
1.
家
141
但我希望我的结果如下
<LISTE_FOURNISSEURS>
<FOURNISSEUR>
<CODE_FOURNISSEUR>1</CODE_FOURNISSEUR>
<VENDOR_NAME>IAM</VENDOR_NAME>
<ICE>1</ICE>
<NIF>1</NIF>
<RC>1</RC>
<CADDRESS_LINE1>Casa</CADDRESS_LINE1>
<CODE_PORT>101</CODE_PORT>
<BANK_ACCOUNT_NUM></BANK_ACCOUNT_NUM>
</FOURNISSEUR>
</LISTE_FOURNISSEURS>
1.
国际机械师协会
1.
1.
1.
家
101
当我使用其他输出参数(Varchar2,number,…)时,问题不会发生
有什么方法可以得到想要的结果吗?我猜您正在使用dbms\u xmlgen生成XML。 因此,如果是这种情况,请使用以下命令更改默认行标记名:
dbms_xmlgen.setRowTag( ctx, 'FOURNISSEUR' );
其中,ctx是您的上下文初始化,如下所示:
ctx := dbms_xmlgen.newcontext( ....