1

plsql パッケージを作成し、それを統合 SOA ゲートウェイにアップロードしました。WSDL を生成し、サービスをデプロイしました。しかし、soap ui を使用してサービスを呼び出してテストしているとき、返される応答は以下のように空です。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body/>
</soapenv:Envelope>

ここで、別のブロックからパッケージ内のプロシージャを呼び出してみたところ、データがそこに適切に来ていることがわかりました。

しかし、SOAモニターで検索したところ、受信したリクエストのステータスが「成功」で、レスポンスが空であることがわかりました。

私のパッケージ仕様は次のとおりです。

CREATE OR REPLACE
PACKAGE XX_FS_ALL_TASKS_PUB AS
/* $Header: $ */
/*#
* This package is the public interface for Dynamic Field Service Tasks Data.
* @rep:scope public
* @rep:product csf
* @rep:displayname XX_FS_ALL_TASKS_PUB
* @rep:lifecycle active
* @rep:compatibility S
* @rep:category BUSINESS_ENTITY CSF_TASK_DEBRIEF
*/
    /*#
    * Use this procedure to get dynamic Field Service details
    * @param p_assignee_id  Assignee id
    * @param x_task_rec Task details
    * @param x_return_code  Error Code details
    * @rep:displayname get_tasklist
    */
    PROCEDURE get_tasklist (
        p_assignee_id IN  NUMBER,
        x_task_rec    OUT xx_fs_mob_loc_rec.all_task_tab,
        x_return_code OUT VARCHAR2
    );
END XX_FS_ALL_TASKS_PUB;
4

2 に答える 2

1

プロシージャではなく、次のような関数を作成する必要があります

/*#
* Use this procedure to get dynamic Field Service details
* @param p_assignee_id  Assignee id
* @return Status
* @rep:displayname get_tasklist
* @rep:scope public
* @rep:category BUSINESS_ENTITY CSF_TASK_DEBRIEF
*/
FUNCTION get_tasklist (

  p_assignee_id          IN       NUMBER,

) return x_result;

x_result は、返すデータを含むカスタム オブジェクトである必要があります。

于 2013-09-19T11:39:45.407 に答える
0

SOAフォルダーの下にある EBS インスタンスのPLSQLフォルダーにデプロイしたパッケージの生成された xml ファイル (procedure_name.xml)のIrepOverloadSeqタグを削除します。ファイルを保存して、もう一度テストします。

于 2015-02-23T09:11:21.383 に答える