問題タブ [cxf-codegen-plugin]

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 投票する
0 に答える
480 参照

weblogic12c - クラス [com.sun.xml.ws.assemblyr.jaxws.HandlerTubeFactory] ​​は [com.sun.xml.internal.ws.assemblyr.dev.TubeFactory] ​​インターフェイスを実装していません

cxf-codegen-plugin を使用して wsdl2java から Java コードを生成しようとしました。コードが生成され、Eclipse テスト クラスで応答を確認できます (いくつかのメソッドを呼び出して、結果を適切に取得しようとしました)。しかし、このコードの jar を作成して Weblogic サーバーのクラスパスに移動すると (この wsdl2java 生成コードを呼び出す jsp ページはほとんどありません)、メソッドを適切に呼び出しますが、毎回ランタイム例外が発生します。

注: 依存するすべての jar も weblogic クラスパス内に移動しました。

以下は、例外のスナップショットです。

以下は、私が呼び出してエラーを取得しているメソッドです。

私のPOM.xmlの下

0 投票する
0 に答える
213 参照

xsd - Apache CXF で生成された JAXB クラスには、外部スキーマ/XSD の空白/空の "" 名前空間を持つ @XMLElement があります

Apache CXF maven cxf-codegen-plugin (wsdl2java) を使用して、外部 XSD を含む wsdl から JAXB クラスを生成し、XSD で複合型を使用して要素を定義しています。

pom.xml スニペット -

myWSDL.wsdl スニペット -

myXSD.xsd -

生成された MyElement.java -

これらの WSDL および XSD を使用すると、生成された JAXB クラスに明示的に空の名前空間が含まれるため、アンマーシャリング中に問題が発生します。

以下のように WSDL と XSD を変更すると、生成された JAXB クラスは適切になり、アンマーシャリングも正常に機能します。

  1. XSD で複合型の要素を直接作成する -

  2. WSDL で「type」の代わりに「ref」を使用して直接参照する -

  3. 次に、生成されたクラス @XmlElement が - に変更されます

しかし、私は提供された WSDL と XSD に自由に触れることができないため、CXF maven プラグインに引数を渡す/バインディング ファイルを使用するなどの解決策/提案を探しています。

0 投票する
0 に答える
105 参照

java - cxfInstall が null であるため、CXFInstall.getLocation() を呼び出せません

最新の Eclipse IDE (jee-2021-03) と apache-cxf-3.4.2 を使用して、WSDL ファイルから Web サービス クライアントを生成しようとしています。

次のエラーが表示されます。

macOS Big Sur 11.3 (Apple Silicon M1) で AdoptOpenJDK 8 を使用しています。Apache CXF がダウンロードされ、ローカル フォルダーに保存されました。Eclipse の設定で、Web サービス / CXF 2.x の設定の下に、CXF ランタイムが正しく表示されます。他の WSDL を使用しても Web クライアントの生成を実行できないため、WSDL 自体には依存しません。

同じ WSDL を使用して、macOS Big Sur 11.2.1、Eclipse jee-2020-06、apache-cxf-3.3.7、および Java SE 8 (1.8.0_181) を搭載した古い MacBook Pro を使用してクライアントを生成することに成功しました。

Googleでそれに関する情報は見つかりませんでした...

誰かが同じ問題に遭遇しましたか?