問題タブ [cxf]

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.

0 投票する
4 に答える
42279 参照

java - Web サービスを使用する場合のエンドポイント、サービス、およびポートの違いは何ですか?

私は Apache CXF を使用して、約 10 個の Java クラスを Web サービスとして公開しました。

CXF、Axis、および .NET を使用してクライアントを生成しました。

Axis と CXF では、「サービス」または「ロケーター」が生成されます。このサービスから「ポート」を取得できます。「ポート」は、Web サービスによって公開されたメソッドを個別に呼び出すために使用されます。

.NET では、「サービス」は Web サービスへの呼び出しを直接公開します。

Web サービスに関して、ポート、サービス、ロケーター、およびエンドポイントの違いを誰か説明できますか?

軸:

CXF:

。ネット:

0 投票する
1 に答える
2183 参照

java - Webサービスでのクライアント切断の検出

ApacheCXFWebサービススタックを使用しています。操作が完了する前にクライアントがタイムアウトしたりサーバーから切断したりすると、サーバーは操作が完了するまで操作を実行し続けます。クライアントが切断したことをサーバーに検出させ、それに応じて処理させたいと思います。

クライアントがApacheCXFを使用して切断したことを検出する方法はありますか?他のJavaWebサービススタックを使用するのはどうですか?

0 投票する
12 に答える
34959 参照

java - Web サービスはストリームを返すことができますか?

私は、人々がファイルをアップロードおよびダウンロードできるようにする小さなアプリケーションを作成しています。アップロード/ダウンロード機能を提供するために、このアプリケーションに Web サービスを追加しましたが、実装が大きなファイルにどれだけうまく対処できるかについてはよくわかりません。

現時点では、アップロードとダウンロードのメソッドの定義は次のようになっています (Apache CXF を使用して記述)。

したがって、ファイルはバイト配列としてアップロードおよびダウンロードされます。しかし、ばかげたサイズ (たとえば 1GB) のファイルがある場合、確実にすべての情報をメモリに格納しようとし、サービスをクラッシュさせます。

だから私の質問は - 代わりにある種のストリームを返すことは可能ですか? ただし、これはOSにまったく依存しないものではないと思います。Web サービスの背後にある理論は知っていますが、実際的な側面については、まだ少し情報を収集する必要があります。

どんな意見でも乾杯、リー

0 投票する
6 に答える
58912 参照

java - CXF と Spring-WS のどちらのフレームワークが優れていますか?

Web サービスについて CXF と Spring-WS を調査/比較していますか? WS のプロバイダーとコンシューマーの両方として機能する必要があります。一言で言えば、Spring-WS の方が構成しやすいと言われていますが、CXF の方が簡単に起動して実行できます。この質問は主観的なものですが、私の研究を導くのに役立ちます。

  • これらのフレームワークのいずれかについて、どのような経験がありますか?
  • いずれかのフレームワークで落とし穴に遭遇したことはありますか?
  • どちらかが提供していて、もう一方が提供していない可能性のある便利な機能を見つけましたか?
0 投票する
3 に答える
4390 参照

java - JAXB XmlID および XmlIDREF アノテーション (スキーマから Java)

CXF を使用して Web サービスを公開しています。@XmlID および @XmlIDREF JAXB アノテーションを使用して、マーシャリング/アンマーシャリング中にオブジェクト グラフの参照整合性を維持しています。

WSDL には、これを表す xs:id および xs:idref 属性を持つ要素が正しく含まれています。

サーバー側では、すべてがうまく機能します。@XmlIDREF で注釈が付けられた型のインスタンスは、@XmlID 注釈で注釈が付けられたものと同じインスタンス (== の場合) です。

ただし、WSDLToJava でクライアントを生成すると、参照 (@XmlIDREF で注釈が付けられたもの) は java.lang.Object 型になります。

参照の型が java.lang.String (参照される型の ID と一致するため) または参照される型自体と同じになるように、JAXB バインディングをカスタマイズする方法はありますか?

0 投票する
1 に答える
805 参照

java - オーバーロードされたメソッドの WSDL2Java?

オーバーロードされたメソッド (同じメソッド名、異なるパラメーター) を含む WSDL で WSDL2Java (Apache CXF) を実行しようとしています。これを行うには、JAX-WS マッピング ファイルまたは JAXB マッピング ファイルのいずれかを作成する必要があるように思えますが、読んでいない大量の仕様によって妨害されているように感じます。誰にもこれの例はありますか?

0 投票する
4 に答える
25288 参照

java - Web サービスへの CXF クライアントで TLS/SSL Http 認証をどのように使用しますか?

証明書で保護された Web サービスにアクセスしようとしています。セキュリティは IIS でセットアップされ、Web サービスはその背後にあります。

WS-SECURITY がこの種の認証を行うとは思えません。Web サービスを呼び出すときにクライアント証明書を渡す方法はありますか?

「このページにはクライアント証明書が必要です」という IIS エラー ページが表示されます。

CXF 2.1.4 を使用しています

0 投票する
6 に答える
6570 参照

java - Java/CXF から簡単に利用できるように WCF サービスを公開する最善の方法は何ですか?

CXF を使用してアダプターを生成している Java ショップが使用する WCF サービスを作成しました。Java にはあまり詳しくありませんが、basicHttpBinding、SSL、および基本認証を使用してサービスを公開しました。統合テストは、.NET クライアントがサービスを問題なく使用できることを示しています。ただし、Java ショップはサービスの利用に問題があります。具体的には、次の JAXB エラーが発生します。2 つの宣言により、ObjectFactory クラスで衝突が発生します。これは通常、CXF がアダプター クラスを作成しようとしたときに、2 つの操作が同じ名前と名前空間を持つ場合に発生します。

なんらかの衝突を引き起こす型や操作の名前が見つかりません。すべてのカスタム タイプで名前空間が指定されていること、および tempuri.org が WSDL のどこにも指定されていないことを確認しました。Java ショップは、生成された WSDL に <xsd:import 要素が含まれているため、エラーが発生したと考えています。

だから、私の質問:

  • Java ショップが WCF サービスを使用するための CXF よりも良い方法はありますか? Project Tango は面白そうですが、使用を検討するように伝えるには十分な知識がありません。CXF は Java の事実上の標準ですか?
  • BasicHttpBinding/SSL/Basic Auth は、MS が相互運用シナリオに推奨するものですが、クライアントにはまだ相互運用の問題があるようです。これを使いやすくするために、他のバインディングや設定を検討する必要がありますか?
  • スキーマのインポートなしで常に単一の WDSL を出力するように WCF を構成する方法はありますか?
0 投票する
6 に答える
12193 参照

c# - プロローグ例外で許可されていないコンテンツ

サードパーティから ac#.NET アプリケーション経由で提供された Java ベースの Web サービスに xml を送信しようとすると、org.xml.sax.SAXParseException: Content is not allowed in prologエラーが発生します。

スキーマに対して xml を検証し、xml を保持するために使用しているメモリストリームを .xml ファイルに渡し、16 進エディターでファイルを開いて、プロローグに不要な文字がないことを確認しました。なしです。ファイルを開くと、ファイルの最初の文字は

xml データを Web サービスに送信するために使用するように指定されたクラスは、バイト配列を受け入れます。XmlTextWriterを使用して utf-8 でエンコードされたメモリストリームに xml を作成し、ストリームの内容をバイト配列に送信することが最も直接的な方法であると考えています。

私は多くの調査を行い、この問題に関して見つけたすべての可能性を試しましたが、何も機能しません。誰か助けてくれませんか?前もって感謝します。

ところで、これは Web サービスが私に返すものの一部です。SOAP メッセージのペイロードで、要素はそのように見えますか、それともその前のコンテンツのように xml を読み取ることができますか?

読みやすくするための xml データは次のとおりです。

0 投票する
1 に答える
983 参照

web-services - CXF 動的クライアント API - getUnwrapperOperation、getWrappedOperation

getUnwrappedOperation() と getWrappedOperation() の違いを説明できる人はいますか? 包まれているのは何ですか?