Oracleは、WebサービスのC#の開発を呼び出します

Oracleは、サービスのWeb C#の開発を呼び出し
dbws-callout-utility-10131.zip公式オラクルダウンロードするには、オンラインで行く、1
オラクルの独自のバージョンに応じていること//oracle-base.com/articles/10g/utl_dbws-10g(注くださいます。https:アドレスを)、対応するjarファイルをダウンロードすることを選択した
Oracleの下/ SQLJ / libにインストールディレクトリに抽出した後、2、
3は、OracleにJARパッケージに対応する使用コマンドライン(典型的には、インストールJDKまたはOracle)がLOADJAVAうユーザーの:
-genmissing @ユーザー/パスワード-u loadjavaのオラクル-r -s -f -v -grant公共dbwsclientws.jarのdbwsclientdb102.jarは、
SYSユーザーならば、コマンドは次のとおりです。
loadjavaの-uユーザー/パスワード-r -v - F -genmissing -s -grant公共dbwsclientws.jarのdbwsclientdb102.jarの
時間(私は、「管理者モード」を利用するには、コマンドラインウィンドウの開始後にwin7のとWin2008システムでは、比較的大きなSYSユーザー権限を、使用するたびにインストール生成された場合は、Oracleの機能やサービスを使用してOracleデータベースのインストールはしてみてください、再び閉鎖される可能性があり、アクセスを拒否)(実際に試してみた文は機会を持っています)
(PLSQL SYSを入力することができます。、UTL_DBWSを表示初期化するニーズを持っていない場合)UTL_DBWSを見つけていない場合は4は、あらかじめパッケージDBWSコールアウト・ユーティリティ-10131 /実行するためにダウンロード SQLJ / libに/ utl_dbws_body.sql とをutl_dbws_decl.sql
5、書き込みへのSQL機能および公開
作成または関数FUNC_GENERATE_LOGINNAME(コンテンツVARCHAR2、VARCHAR2で、CellNumber、SENDER VARCHAR2)を置き換える
VARCHAR2 AS返す
l_service sys.utl_dbws.SERVICEを、
l_call sys.utl_dbws.call;
l_result ANYDATA;
l_wsdl_url VARCHAR2(1024) ;
l_service_name VARCHAR2(200)と;
l_operation_name VARCHAR2(200)と;
l_input_params sys.UTL_DBWS.anydata_list;
l_xmltype_in SYS.XMLTYPE;
l_xmltype_out SYS.XMLTYPE;
BEGIN
l_wsdl_urlを:=「HTTP://xxxx.xxxx.xxxx.xxxx:XXXX /プロジェクト/axis/services.jws?wsdl「;(これはWSDLを追加する必要があります?)
l_service_name:= 'servicesService';(私たちは.asmxというクラス名を*ものです)
l_operation_name:= 'のsendMessage';(私たちは属性をWebMothedしていることをメソッド名)
l_service:= sys.UTL_DBWS.create_service(wsdl_document_location => URIFACTORY.getURI (l_wsdl_url)、
SERVICE_NAME => l_service_name)。

l_call:= sys.UTL_DBWS.create_call(service_handle => l_service、
port_name => NULL、
operation_name_Input_operation_parameter_nameここで、operation_name => l_operation_name)。

l_input_params(1):= ANYDATA.ConvertVarchar2(コンテンツ)。
l_input_params(2):= ANYDATA.ConvertVarchar2(ここで、CellNumber)。
l_input_params(3):= ANYDATA.ConvertVarchar2(送信者)。

l_result:= sys.UTL_DBWS.invoke(call_handle => l_call、
input_params => l_input_params)。
sys.UTL_DBWS.release_call(call_handle => l_call)。
sys.UTL_DBWS.release_service(service_handle => l_service)。
RETURN ANYDATA.AccessVarchar2(l_result)。
EXCEPTION
WHEN OTHERSはTHEN
RETURNのSUBSTR(SQLERRM、0、2000)。
END FUNC_GENERATE_LOGINNAME;

6、結果はデュアルからSELECT(「TESTTEST」、「1234567」、「XXXXXX」)をfunc_generate_loginname参照するには、
最も可能性が発生するように見える異常のために7が十分な権限である、あなたは住所に次のステートメントを使用することができます
開始
dbms_java.grant_permission(「DZZWPT '' SYS:java.lang.RuntimePermission ''のgetClassLoader」、「);
dbms_java.grant_policy_permission( 'DZZWPT'、 'SYS'、 'java.io.FilePのermission'、 '*');
-dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.lang.IllegalAccessExceptionが'、 'のgetClassLoader'、 ");
dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.lang.RuntimePermissionとして'、 'accessClassInPackage.sun.util.calendar'、" );
dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.lang.RuntimePermissionとして'、 'setFactory'、「);
dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.util.PropertyPermission'、「HTTPClient.socket。 idleTimeout ''書き込み「);
dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.net.SocketPermission'、 'ローカルホスト'、 '解決');
dbms_java.grant_permission( 'DZZWPT'、 'SYS:java.net.SocketPermission'、「192.168.21.203。 80 ''接続し、解決');
dbms_java.grant_permission(' DZZWPT '' SYS:java.lang.RuntimePermissionとして'' createClassLoaderを」、「);
END;
8.公式インスタンス上で、我々はしてみてくださいHelloWorldの
1)。まず、我々はいくつかの変更、独自のウェブサーバーを書くためにしなければならない
クラスWebServerの名前空間の前には空にして、[WebServiceBinding(conformsTo = WsiProfiles.BasicProfile1_1)]

入力パラメータの形式を決定し、出力パラメータの指示に従ってウェブサーバー

l_xmltype_in値が
出力されます

こんにちは世界

----------------
免責事項:この記事はCSDNブロガーの最も繊細な作品のオリジナルの記事で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクを添付してくださいそしてこの文。
オリジナルリンクします。https://blog.csdn.net/saijie1983/article/details/72453399

おすすめ

転載: www.cnblogs.com/wangjp-1233/p/11870496.html