0

Web サイト (CRM) にアクセスするクライアント PC があります。クライアント PC はバックグラウンド サービスとして API ツールキットを実行しており、SOAP 呼び出しを介してアクセスします。標準の Web 参照と、API ツールキットのメソッドを呼び出すためのいくつかのサーバー側メソッドだけでは難しいことはありません。

ローカル IIS で Web アプリケーションを実行すると、すべてがうまくいきます。web.config 内の参照は、サーバーのアドレスである localhost:8080 へのアドレスを指しています。すべてのクライアントに対して動的なサービス URL を持つカスタム web.config を持つことはオプションではありません。url プロパティを設定して、Web アプリケーションの起動時にクライアント マシンのホスト名を取得し、サービス参照の url プロパティを変更しようとしましたが、これはすべてのコンピューターが会社のドメインにある場合にのみ機能します。以下の参照は、私のローカル pc で動作するものです。ホスト名を手動で変更すると、ローカルの開発 IIS ではなく、サーバーから実行すると失敗します。

<applicationSettings>
<CRMIntegration.Properties.Settings>
  <setting name="CRMIntegration_AgentBridgeService_WebserviceAgentBridgeService"
    serializeAs="String">
    <value>http://localhost:8080/AgentBridge</value>
  </setting>
</CRMIntegration.Properties.Settings>

サービスを適切なクライアントにマップしようとするいくつかの異なる方法にもかかわらず、それでも機能しません。

(私は考えています):クライアントPCのWebサービスへの正しいパスを設定するメソッドまたは関数を作成し、web.config参照を取り除き、Web参照クラスを拡張して、生成されたreference.csが取得する場所をオーバーライドしますURL プロパティ。

いくつかの SaaS CRM でまったく同じ API ツールキットを使用してこれが行われている例を見たので、それが可能であることはわかっています。数日間検索した後、どの方向を見ればよいかわかりません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

ソリューションは予想以上に簡単でした。私には2つのルートがありました.xmlでjqueryを使用するか、APIで文書化されていないクエリ文字列を使用します。クエリ文字列を選択しましたが、すべて問題ありません。

于 2012-08-01T20:08:50.943 に答える