- PR -

WebサービスからCOM(ActiveX DLL)を利用する方法について

1
投稿者投稿内容
ita
常連さん
会議室デビュー日: 2006/10/10
投稿数: 25
お住まい・勤務地: 兵庫県
投稿日時: 2008-06-04 13:35
itaと申します。

いつもお世話になっています。Webサービスについて質問させて下さい。

WebサービスからCOM(ActiveX)を呼び出し、そのCOMの結果をWebサービスで出力しようとしています。
Aサーバー環境では正常に動作しましたが、Bサーバーではエラーとなってしまいます。
COMもWebサービスもどちらも同一のものですが、AとBで結果が異なります。
環境設定なども一通り眺めましたが、違いがわかりません。
どなたか、同じようなことを経験された方はいらっしゃいませんか?

サーバー上でWebサービステストを行った結果
(http://hogehoge/webservice1.asmx こんなURLで開いたテストページから該当サービスを実行した結果)

Aサーバー:正常にCOMの結果を返す。
Bサーバー:「ページを表示できません 〜 HTTP 500 - 内部サーバー エラー Internet Explorer 」のエラーが発生します。
又、同じWebサービスの中でCOMを呼んでいないものはBサーバーでも正常に処理しています。
尚、そのCOMは、別のレガシーASP(Webサービスではない)から使用すると正常に機能しています(=COMのインストールは正常にされています)

推測:WebサービスとしてCOMを呼べない環境設定がBサーバーにされているのではないかと思います。

環境(A,Bも同一)
・サーバーOS:Windows Server 2000 SP4+IIS5
・.net framework 2.0
・Visual Studio 2008(VB.net)にてWebサービス作成
・COM:VB6にて作成(ActiveX DLL)=サーバーにインストール

ソースサンプル:
(TESTCOMはVS2008の参照設定で定義しています。)
<WebMethod(Description:="TESTCOMのテスト")> Public Function TEST(ByVal str1$, ByVal str2$) As String
Dim testComObj As TESTCOM.Class1 = Nothing
testComObj = New TESTCOM.Class1
Dim ret$ = testComObj.Test(str1$, str2$)
testComObj = Nothing

Return ret$
End Function

拙い説明ですみませんが、よろしくお願いします。
_________________
1

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