問題タブ [fuseesb]
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.
exception - Mule ESB CXF 例外処理
http アウトバウンド フロー内で jaxws-client を使用したミュール通信で次の XML を使用しています (POJO はアウトバウンド Jaxws クライアントからの出力です)。
maven で wsdl2java プラグインを使用して WS コードを確実に生成するために、生成されたコードには WS からの例外のクラスがあります。クラスは次のとおりです。
com.nsn.ossbss.charge_once.wsdl.entity.tis.wsdl._1.TisException
WS がこの例外を発生させた後に SOAPFault を取得したとき、確かに http 応答は 500 です。
次を使用して例外を処理すると、上記のエラーが発生します。
確かに、apache camel と同じ例外を処理する必要があります。例外をミュールに指定する必要があります。ミュールは、XML 構成によって処理されるため、コンソールで上記の例外を発生させないでください。
jaxWs-client アウトバウンドからの着信メッセージのタイプは
org.apache.commons.httpclient.methods.PostMethod@d02649
Mule ESB に WS 例外を理解させるにはどうすればよいでしょうか。これを試してみました
それもうまくいきませんでした。
あなたがアドバイスしていただけますか 。
Fuse ESB では、次のようにしました。
Mule ESB で同じものを作成するにはどうすればよいですか。
最初のサブフロー usernameToken1 は、Apache camel にデプロイした Web サービスを呼び出しています。発生した例外クラスについて上記の質問で言及しました。
フィードバックをお寄せください。
base64 - Fusesource - ルート内で base64 をエンコード/デコードする方法
Fusesource ESB のルート内で処理される XML ドキュメント内で base64 をエンコード/デコードしようとしています。Blueprint.xml を使用してエンコード/デコードを試みていますが、これを行う方法が見つかりません。XML データを base64 文字列に変換して、バイナリを必要とする外部 Web サービスにアクセスするには、ruote が必要です。また、Web サービスの応答から返されるバイナリを抽出し、これを .pdf (または最初に文字列) に変更する必要があります。
apache-camel - Fuse ソース ESB の xmlBeans 依存関係 - 解決方法は?
Java オブジェクトから XML へのルートに入るデータを変換しようとしています。これには xmlBeans が必要で、依存関係がありDataFormatResolver
ます。
プロジェクトをデプロイしようとすると、パッケージが開始されず、ステータスが と表示されGracePeriod
ます。
エラー ログに次のメッセージが表示されます。
このクラスを依存関係として POM ファイルに追加しようとしましたが、Fuse 内に重複したクラスがあります!
アイデアはありますか?
java - Servicemix - SOAP 1.2 で CXF エンドポイントを公開する
Servicemix (Fuse ベース) で SOAP 1.2 の WS を公開しようとしています。
ブループリント構成ファイルで CXF エンドポイントを宣言しました。
私はいくつかのオプションを試しました:
エンドポイント定義に wsdlURL を追加すると、
org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for port ...
<camelcxf:binding><soap:soapBinding mtomEnabled="true" version="1.2"/></camelcxf:binding>
にリードを追加するNullPointerException at org.apache.aries.blueprint.container.RecipeBuilder.getValue
SOAP 1.2 をサポートする servicemix で CXF サービスを公開することに成功した人はいますか?
ありがとう
apache-camel - Fuse での JMS の問題
ヒューズでトピックと耐久性のあるトピックをテストするサンプル コードを開発しましたが、問題に直面しました。
サンプル コードの説明 サンプル コードは 3 つのバンドルで構成され、各バンドルには独自の camel コンテキストと独自のルートがあるため、次のように 3 つのバンドルに 3 つのルートがあります。
bundle1 route : ファイル システムからファイルを消費し、キューに送信します
バンドル 2 ルート: 前のキューからのメッセージを消費し、トピックに送信します
bundle3 ルート: 前のトピックからのメッセージを消費し、ファイル システムに送信します。
最初のフォルダ "D://camel_test" にファイルを入れると、95% のケースでサンプル コードが正常に実行され、"D://camel_test" フォルダからファイルが消えて 2 番目のフォルダ "D ://camel_test2"
問題の説明 • 5% のケースで、ファイルが 2 番目のルートで消費されず、jconsole でコンシューマとキューを確認すると、添付の jconsole スクリーン ショット (2 .png)。o 添付の jconsole スクリーン ショット (1.png) に示すように、キューのデキュー カウントがゼロのときに、キューのエンキュー カウントが増加します。
• この問題は多くの場合に発生しますが、最も再現性の高いケースは Fuse ESB の再起動後です。
• 問題が発生しない ヒューズの再起動のたびに、サンプル コードはヒューズの再起動後に問題なく正常に実行されることがよくあります。
重要な注意事項: bundle2 と bundle3 を更新すると、常に問題は解消されます。
教えていただけますか?
apache-camel - SOAPリクエストの内容をチェックし、適切なURIにリクエストを渡すルートを構築したい
私はムンバイ出身の Ashish で、Apache Camel は初めてです。
現在、SOAP リクエストをスキャンし、リクエストを適切な URI にリダイレクトするルートを XML で構築しています。
私の SOAP リクエストは次のとおりです。
この SOAP エンベロープから、Camel Route を使用して actionId タグの値を解析したいと考えています。actionId の値が 1 の場合、ルートを callService にリダイレクトする必要があります。それ以外の場合は、別のサービスにリダイレクトします。
次のようにルートのロジックを開発しました。
しかし、このロジックは機能していません。私のルートに誤りはありますか?
私は Java 派ですが、ここでは Java を使いたくありません。Camel自体に頼りたい。
できるだけ早く助けてください。
よろしく、
アシッシュ
apache-camel - ロギングでヘッダーを使用すると、SOAPリクエストが返されます
ここでまたアシッシュ。
着信SOAPリクエストを解析し、リクエストからの情報の一部をログに記録するルートを開発しました。SOAPサービスリクエストから情報を取得するためにヘッダーとXPATHを使用しました。ルートは適切な情報を正常に解析してログに記録します。
ルートは次のとおりです。
ロジックに従って、actionIdが1の場合、ルートはcallService URIにリダイレクトする必要があります。そうでない場合、応答なしで間違ったアクションIDをログに記録する必要があります。
actionIdが1の場合、ロジックは機能し、callServiceにリダイレクトされ、適切な応答を呼び出し元に送信します。actionIdが1以外の場合、アクションIDを含む間違ったアクションIDに関するログを書き込みますが、呼び出し元への応答と同じ要求を送信します。
soapUIとJavaSocketProgrammingを使用してチェックしましたが、出力は同じで、actionIdを正確にログに記録しますが、呼び出し元への応答と同じ要求を送信します。
応答と同じ要求はしたくない。応答は空白にする必要があります。
誰かが私が解決策を見つけるのを手伝ってくれますか?
よろしく、
Ashish
xml - 例外org.xml.sax.SAXParseExceptionのバンドル:コンテンツはプロローグで許可されていません
着信soapリクエストをログに記録するバンドルをFuseESBにデプロイしました。私はJavaDSLを
ここでメソッドgetParsedXPathを使用すると、FuseESBは例外を次のように表示します。 org.xml.sax.SAXParseException: Content is not allowed in prolog.
上記の方法でCDATA情報を取得しています。メソッドは次のようになります。
コード自体で実際のsoapリクエストに相当するデモXMLを使用すると、Fuseは例外なくバンドルをインストールします。
FuseはSOAPリクエストを受け入れる前にどのように例外をスローできますか?誰かが私に解決策を教えてもらえますか?
java - FuseESB からの奇妙な出力
リクエストの解析に取り組んでいます。着信要求を解析するために Java でルートを開発しました。
FuseESB 7.0.1.0.84 で Camel 2.9 を使用しています。
simple(“{body}”).getText()
Camel Manual に従って着信リクエストを取得していました
したがって、コードを次のように使用して、着信要求をチェックしています。
どこxmlStringToParse = simple(“${body}”).getText()
奇妙な結果が観察されました:
の値はxmlStringToParse
、soap リクエストから "" に 1 行で変更されます。また、「<code>xmlStringToParse equals ${body}」は、print せずに「<code>xmlStringToParse equals」と出力されます${body}
。${body}
ログには出力されません。
ログ出力は次のとおりです。
この問題を解決する方法と、この奇妙な動作の理由を誰か教えてもらえますか?