問題タブ [switchyard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SwitchYard SOAP Web サービスが常に null を返す
jax-ws を使用した単純な Java プログラムを使用して、スイッチヤード Web サービスを呼び出しています。私たちの実稼働サーバーは、switchyard 1.1 を搭載した jboss eap 6.1 であり、wildfly 10.1.0 と switchyard 2.1 でテストを行っています。どちらの環境でも状況は同じです。Web サービスを呼び出すと、サーバーの応答 (トレースによる) が適切に見えるにもかかわらず、常に null が返されます。
リクエスト/レスポンスの例:
リクエスト:
応答:
http サーバーで応答をハードコーディングしていくつかのテストを行い、xml を
に
(名前空間識別子を追加) Java クライアントが動作を開始します。
jax-ws ri、metro、cxf でテストした結果は常に同じです。
java - リモート SOAP Web サービスが接続を切断し続ける
簡単な説明
安全なリモート SOAP Web サービスに接続するためにJBoss SwitchYardを使用しています。リクエストが送信された後の何らかの理由。リモート Web サービスがそれ以上の通信を停止しています。だから返事が来ない。
質問
ここで問題になる可能性のあるアイデアまたは解決策が必要です。
エラー
原因: java.net.SocketException: https://************.asmx を呼び出す SocketException: サーバーからの予期しないファイルの終わり
説明と注意事項
- リモート Web サービスは自己署名証明書を使用しています。サーバー証明書をローカルのトラストストアにインポートしました + さらに、リモートサーバーに対して自分自身を識別するための他の証明書を (キーストアに) 持っています。
- -Djavax.net.debug=all SSL デバッグ ログとWiresharkログのおかげで、クライアントとサーバーの両方が SSL ハンドシェイクに成功し、クライアントが要求を正常に送信したことがわかりました。
- また、サーバーは IP フィルタリングを使用して直接通信を許可し、私の IP はホワイトリストに登録されています。
- SoapUIを介して同じ XML リクエストを送信しようとすると、問題なく動作し、応答を受け取ります。SoapUIはキーストアのみを使用することを考慮する必要があります。常にリモート サービスを信頼するように設定されているため、トラストストアは不要または使用されません。
- 面白い部分が来ます。JBoss SwitchYardとリモート Web サービスの間の「中間者」としてFiddler (無料の Web デバッグ プロキシ)を使用すると (何が起こっているかを確認するため)、突然すべてが機能します。
- 直接接続とFiddlerをプロキシとして使用する場合の唯一の違いは、実際の接続ではConnection = Keep-Aliveヘッダー パラメータが使用され、Fiddler の場合はProxy-Connection = Keep-Aliveパラメータが使用されることです。他に大きな違いがあるかどうかはわかりません。
- SoapUIでこれらのヘッダー パラメータを手動で変更しても、正常な応答が返されます。SOAPActionおよびContent-Typeヘッダー パラメータが欠落している場合にのみ接続が失敗しますが、それらはいずれの場合にも存在します (同じです)。
- Wireshark経由でこの通信を観察すると、リモート サーバーがそれ以上の通信を停止していることだけが分かります ( JBoss Switchyardアプリケーションがリモート Web サービスと直接通信している場合)。
- リモート ログへのアクセス権がなく、ログを取得することも許可されていません。だから私は盲目的に働いています。
- いずれの場合も (Fiddler の有無にかかわらず)、会社のプロキシを使用してリモート Web サービスにアクセスしています。他の SwitchYard アプリケーションは正常に動作しているため、このプロキシは問題ではありません。
ツール
- JBoss Enterprise Application Platform 6.4
- JBoss SwitchYard 2.0.1.redhat-621159
apache-camel - wildfly モジュールから camel ルートにプロパティを注入する
SwithcYard 2.0.0.Beta1 を使用しています。アプリケーション サーバーは WildFly 8.1 です。モジュールからプロパティをロードしたい。例として、モジュール /wildfly/modules/system/layers/base/org/study/configuration/test my module.xml があります
これはプロパティ ファイルです。
これは、そのモジュールをワイルドフライ プロファイルに含める方法です。
そして今、キャメル ルートにそのプロパティをロードしたいと思います。
または豆で
出来ますか?これを行う方法?