2009-03-31 13 views
1

私は、.NETアセンブリを通じて、特にMSXMLインターフェイスを使用してNavisionとのCOM相互運用を試みています。Com Interop/MSXML

"C:\ Users \ bra \ Documents \ Visual Studio 2008 \ Projects \ SOAPROXY \ SOAPROXY \ bin \ Release \ SOAPROXY.dll"というアセンブリをタイプライブラリに変換できませんでした。タイプライブラリのエクスポータで 'SOAPROXY.ISoap.PostEnvelope(#0)、SOAPROXY'を処理中にエラーが発生しました。エラー:タイプライブラリのエクスポータが 'MSXML2.IXMLDOMDocument'タイプをロードできません(エラー:System.IO.FileNotFoundException:ファイルまたはアセンブリ 'Interop.MSXML2、Version = 6.0.0.0、Culture = neutral、PublicKeyToken = fbdb4bb4a7dccef2'をロードできませんでした。ファイル名: 'Interop.MSXML2、Version = 6.0.0.0、Culture = neutral、PublicKeyToken = fbdb4bb4a7dccef2')指定されたファイルが見つかりません。 SOAPROXY

基本的なインタフェースは、

[Guid("some guid")] 
[ComVisible(true)] 
public interface ISoap 
{ 
    IStatus State { get; } 

    IXMLDOMDocument PostEnvelope(IXMLDOMDocument envelope, string action, string endpoint, string print, string store, string location); 
} 

[ClassInterface(ClassInterfaceType.None)] 
[ComVisible(true)] 
public class Soap : ISoap 
{ 
    ... 
} 

どれ手がかりとして定義されていますか?

+0

あなたのユーザー名はブラジャーですか?それはどれくらいクールですか? Pieter Antiessenと呼ばれる人は知っていますか? –

+0

これは私の電子メール接頭辞@仕事です。 Nopeはその男を知らない。私はブラジャーがスウェーデン語で良いことを知っています;-) ワンダーブラと何があります! –

+0

おそらく[this](http://msdn.microsoft.com/en-us/library/aa973247.aspx)MSDNの記事は、NAV/COM相互運用機能について説明しています。 –

答えて

0

あなたはSOAP Webサービス経由でNavisionと話をしたいと思うようです。それをしたい場合は、Webサービス、つまりWCF(Windows Communication Foundation)に.NETの機能を使用する必要があります。

+0

これは逆です。私はNavisionにSOAP Webサービスを話して欲しい。これが私がこれを組み立てた理由です。 –

+0

そして、WCFは、オプションではありません。 WSDL.exeとSvcUtil.exe、または該当するWSDLと互換性がありません。 –

1

MSXML6でInteropラッパーをGAC化しましたか?フュージョンがアセンブリをロードするのに失敗しているように思えば、あなたはそれをGACだけで解決するだろう。または、Fusionロードパスに配置します。

しかし、SOAP Webサービスに要求するためにMSXMLが必要な理由がわかりません。なぜ、.NET BCLに組み込まれているWebClientの広告XmlDocumentを使用しないのですか?

私は、外部Webサービスに接続するNavisionの「拡張機能」(正しい言葉ではないかもしれません)を構築したいと思っています。これはXMLまたはもっと具体的にはSOAPを話します。また、.NETでNavision拡張機能を構築できますが、wsdl.exeやsvcutil.exeを使用できないと仮定した場合、2つのWebサービス用のツールは.NETに組み込まれています。それが当てはまる場合は、.NETで使用できる下位レベルのHTTPクラスとXMLクラスを使用してみませんか?

COM interopはまったく必要ありません。