6

Java バックエンド (SOAP、Axis2) のクライアントとして機能する Delphi エンタープライズ アプリケーションがあります。一部のリクエストは完了するまでに不確定または特に長い時間がかかるため、SOAP リクエスト用のロング ポーリング ソリューションを実装したいと考えています。

私の知る限り、これには通常 WS-Addressing を使用します。ただし、Delphi SOAP クライアント (WCF) は WS-Addressing を実装していないようです。

私は Java と Delphi に縛られています。ライフサイクルなどの Axis 2 コンポーネントを使用していますが、別の Web サービス エンジンに移行することは可能です。サーバー側とクライアント側の両方を制御します。

Delphi と Java でロング ポーリングを実装するためのオプションは何ですか?

4

1 に答える 1

1

Javaはサーバー側ですでに使用されており、そこでJavaにロックされていると言います(私の理解が正しければ)。

この場合、まず Java EE 用の最先端の SOAP 実装を使用して、Javaクライアント側のプロトタイプを「概念実証」として実装しようとします。このアドバイスの背後にある理由は、非同期処理を実装するための Java 側 (および Web サービス全般) のさまざまなオプションを実際に体験できるようになるためです。

この概念実証を Delphi に移植することが、2 番目のステップになります。


また、いくつかの調査を行った後、SOAP (WS-Adressing などを介して) を使用したロング ポーリングの特定のサポートへの参照を確認できません。

ただし、「非同期 SOAP」処理は、SOAP 1.2 以降、長時間実行されるプロシージャを処理する一般的な方法です。たとえば、JBoss ( JBoss WS を使用した非同期 Web サービス) でサポートされています。

メッセージブローカーを使用して、別のアーキテクチャを検討することもできます。これは SOAP over JMS として知られています。JMS システムから SOAP 応答を受信できる Delphi 用の無料および商用のクライアントがあります。

于 2014-10-04T09:54:16.830 に答える