- PR -

VB6.0で作成したDLLをWEBサービスで利用

1
投稿者投稿内容
Cock
会議室デビュー日: 2004/12/20
投稿数: 10
投稿日時: 2004-12-20 12:53
いつも参考にさせてもらっております。

VB6.0で作成したActive X DLLをWEBサービスから参照しようとしており
また、VB6.0で作成したDLLでは、DAO.DLLを参照しております。

ブラウザで登録サービスの確認をすると、
「DAO.TableDefsはインターフェイスなのでシリアル化できません」
とのエラーメッセージが出力されます。
どうにか回避する手段はないでしょうか?
御教授頂ければ幸いです。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-12-20 14:50
DAO.TableDefsを構造体配列に変換するとか。

# WebMethodの引数及び戻り値はシリアル化(XML化)できるものでなければなりません。
Cock
会議室デビュー日: 2004/12/20
投稿数: 10
投稿日時: 2004-12-20 19:18
todo様
早々の御返事ありがとうございました。
ぜひ試してみます。

恐縮ながらもう1つ質問したいのですが、WEBMETHODに関して、そのメソッドの引数・戻り値がシリアル化されるべきなのは理解したのですが、
WEBMETHODの処理部に対してもエラーが出力されます。
(処理部で、VB6.0DLLのインスタンスを作り処理を行なおうとしております)
エラー内容はブラウザで確認しているので「内部サーバエラー」となっていますが・・
クライアントから参照させ実行しても、
「'System.Web.Services.Protocols.SoapException' のハンドルされていない例外が system.web.services.dll で発生しました。」
とエラーが表示されます。
(ちなみに、他のDAO.dllと関連のないDLLを利用しているWEBMETHODは問題なく動いております)

WEB METHODから参照されているDLL内部は
全てシリアル化可能でないといけないと言う事でしょうか?
シリアル化はXML形式でクライアントと通信するから必要なのでは?
と考えてしまっております。これは勘違いなのでしょうか・・
1

スキルアップ/キャリアアップ(JOB@IT)