問題タブ [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 投票する
1 に答える
2889 参照

maven - JAXB2 Basic Annotate プラグインが maven cxf-codegen-plugin で動作しない

cxf-codegen-plugin を使用して、wsdl ファイルから Java クラスを生成しています。クラスの 1 つにアノテーションを追加したいので、バインディング ファイルを指定し、jaxb2-basics-annotate プラグインを使用します。生成されたファイルには、バインディング ファイルで指定された注釈が含まれていません。

pomファイルの構成は次のとおりです

ここにバインディングファイルがあります

デバッグモードでmavenを実行しても、奇妙なことは何も表示されません。cxf-codegen-plugin と jaxb2-basics-annotate が連携しないようにするためですか? または、私の設定に何か問題がありますか?

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

xsd - CXF wsdl2java がスキーマを正しく読み取らない

WSDL を使用して Java クラスを生成するように構成された以下の wsdl2java プラグインを使用しています。

これで、以下のスキーマが WSDL に含まれるようになりました。

要素定義が以下のように WSDL 内にある場合、myElementのクラスが生成されますが、これで問題ありません。

しかし、WSDL の要素定義がスキーマの ComplexType 定義を参照している場合。次に、要素クラスaaaは生成されず、aaaTypeクラスのみが生成されます。

wsdl2java を指定して、クラスaaaaaaTypeの両方を生成し、 aaa内でaaaTypeを参照する方法はありますか?

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

spring-mvc - SOAP を使用してサーバーから情報を取得するときに UnmarshalException が発生する

サーバーとクライアントという 2 つの単純なプロジェクトを作成して、SOAP テクノロジを操作できるようにします。私はSpringとCXFを使用しています。問題なくサーバーを作成できました。「Actor」と「Movie」の 2 つのエンティティがあり、これらは今のところ互いに独立しています。SOAP UI を使用して、これらのエンティティのインスタンスを追加、読み取り、編集、および削除できます。クライアント側を作成したいと思います。このために、CXF によって生成された wsdl ファイルを Java クラスからクライアント プロジェクトに結合しました。次に、「cxf-codegen-plugin」プラグインを使用して Java クラスが生成されます。

「Actor」サービスまたは「Movie」サービスに対応する wsdl ファイルを 1 つだけ使用すると、すべて正常に動作します。しかし、両方の wsdl を使用すると、次のようなエラーが発生します。

ここでは、クライアントから「映画」のリストを取得しようとしました。エラーは、「タイトル」は予期しない要素ですが、エンティティ「映画」の属性であると言っています。そして驚くべきことは、要素「firstName」、「lastName」、「id」、「birthDate」が私のエンティティ「Actor」の属性であることです。

何が悪いのか分かりますか?ありがとうございました。

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

java - 署名トークンなし Java CXF クライアント

.NET WCF サービスと通信する Apache-CXF-2.7.11 を使用して Java クライアントを構築しようとしています。

私のJavaクライアントコードは次のとおりです。クライアントはIDEで自動生成され、CXFドキュメントからコピーした資格情報のみです。

例外は結果です:

ユーザー名トークンを設定する他の方法はありますか?

PD 私の英語でごめんなさい...

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

cxf - 2 つのバンドルで cxf を使用すると例外が発生する: インターフェイス itable の初期化でローダー制約違反が発生する

からビデオを呼び出すためApache CXFに一部で使用します。これは正常に動作し、movingimage24 からビデオを呼び出して問題なく表示できます。bundle Ahttp://www.movingimage24.com/Portal APortal A

inのように同じ方法Apache CXFでいくつかを使用し、 my でビデオを呼び出そうとすると、次の例外がスローされます。Bundle BBundle Aportal B

エラー[0:0:0:0:0:0:0:1 [1416678184971] GET /content/portal/de/home/company/test_videomanager.html HTTP/1.1] com.day.cq.wcm.core.impl. WCMDebugFilter 例外: インターフェイス itable 初期化でのローダー制約違反: メソッド「javax.xml.bind.helpers.AbstractMarshallerImpl.setAttachmentMarshaller(Ljavax/xml/bind/attachment/AttachmentMarshaller;)V」を解決するとき、クラス ローダー (org/apache/ のインスタンス)現在のクラスの felix/framework/ModuleImpl$ModuleClassLoaderJava5)、javax/xml/bind/helpers/AbstractMarshallerImpl、およびインターフェイス javax/xml/bind/ のクラス ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス) Marshaller には、署名 java.lang.LinkageError で使用されるタイプ javax/xml/bind/attachment/AttachmentMarshaller のさまざまな Class オブジェクトがあります。インターフェイス itable 初期化でのローダー制約違反: メソッド「javax.xml.bind.helpers.AbstractMarshallerImpl.setAttachmentMarshaller (Ljavax/xml/bind/attachment/AttachmentMarshaller;)V」を解決するとき、クラス ローダー (org/apache/felix/framework のインスタンス)現在のクラス javax/xml/bind/helpers/AbstractMarshallerImpl の /ModuleImpl$ModuleClassLoaderJava5) と、インターフェイス javax/xml/bind/Marshaller のクラス ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス) が異なる署名で使用されるタイプ javax/xml/bind/attachment/AttachmentMarshaller のクラス オブジェクト現在のクラス javax/xml/bind/helpers/AbstractMarshallerImpl のクラス ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス)、およびクラス ローダー (org/apache/felix/framework/ModuleImpl$ のインスタンス)インターフェース javax/xml/bind/Marshaller の ModuleClassLoaderJava5) には、署名で使用されるタイプ javax/xml/bind/attachment/AttachmentMarshaller の異なるクラス オブジェクトがあります。現在のクラス javax/xml/bind/helpers/AbstractMarshallerImpl のクラス ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス)、およびクラス ローダー (org/apache/felix/framework/ModuleImpl$ のインスタンス)インターフェース javax/xml/bind/Marshaller の ModuleClassLoaderJava5) には、署名で使用されるタイプ javax/xml/bind/attachment/AttachmentMarshaller の異なるクラス オブジェクトがあります。

pom.xmlの forbundle Bは次のようになります。

私は Apache CXF が初めてで、誰かが私を助けてくれることを願っています。

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

maven - java.lang.LinkageError: ローダー制約違反: ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス) 以前

バンドルを felix console / CQ crx にデプロイしようとすると、次のエラーが発生します。

原因: java.lang.LinkageError: ローダー制約違反: ローダー (org/apache/felix/framework/ModuleImpl$ModuleClassLoaderJava5 のインスタンス) は、以前に「javax/xml/bind/attachment/AttachmentMarshaller」という名前の別のタイプの読み込みを開始しましたjava.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at org.apache.felix.framework. ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1907) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:727) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) ) org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) で java.lang.ClassLoader.loadClass(ClassLoader.java:247) org.apache.cxf.jaxb.JAXBDataBinding.createWriter(JAXBDataBinding.java:271) org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.getDataWriter(AbstractOutDatabindingInterceptor.java:178) org .apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:109) org.apache.cxf.binding.soap.interceptor.RPCOutInterceptor.handleMessage(RPCOutInterceptor.java:94) org.apache.cxf.phase.PhaseInterceptorChain .doIntercept(PhaseInterceptorChain.java:272) で org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565) で org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) で de. org.apache.cxf.endpoint の .webservices.utils.OsgiAwareClientImpl.invoke(OsgiAwareClientImpl.java:62)。ClientImpl.invoke(ClientImpl.java:377) org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) org .apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) で $Proxy139.getHttpsPlayerCodeForLockedVideo(不明なソース) で de.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) で de.components. videoplayer.player.init(Videoplayer.java:36) at de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) ... 228 もっと見るde.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) で $Proxy139.getHttpsPlayerCodeForLockedVideo(不明なソース) で de.components.videoplayer.player.init(Videoplayer.java) で呼び出し (JaxWsClientProxy.java:135) :36) de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) で ... 228 以上de.webservices.videoplayer.impl.VideoManagerServiceImpl.getHttpsPlayerCodeForLockedVideo(VideoplayerImpl.java:123) で $Proxy139.getHttpsPlayerCodeForLockedVideo(不明なソース) で de.components.videoplayer.player.init(Videoplayer.java) で呼び出し (JaxWsClientProxy.java:135) :36) de.AbstractComponent.setSlingRequest(AbstractComponent.java:90) で ... 228 以上

これは私の pom.xml ファイルです:

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

maven - cxf-codegen-plugin が UTF-8 互換ファイルを生成しない

UTF-8 でファイルを生成しない以下の POM があります。

WSDL ファイルには XSD ファイルが含まれており、これらのファイルはé, è, à.

WSDL および XSD ファイルは、Notepad++ に従って、BOM なしで UTF-8 で正しくエンコードされます。

Java ファイルを生成しようとすると、これらの Java ファイルは DOS/Windows 文字セットで生成されます。これも Notepad++ に従っています。

私たちのプロジェクトはすべて UTF-8 を使用しており、次のエラーのために Windows の開発者が Java クラスをローカルでコンパイルできないため、Java ファイルを UTF-8 で生成する必要があります: error: unmappable character for encoding UTF-8.

これに関する CXFのドキュメントを読み、JAXB の 2 つの依存関係をプラグインに直接追加するなど、すべてを説明どおりに作成しました。それでもうまくいきません。

CXF バージョン 2.6.10 を使用しています (2.6.1 の後にリリースされ、特定のエンコーディングでファイルを生成するオプションが含まれていました)。

0 投票する
2 に答える
8387 参照

maven - maven cxf プラグイン cxf-codegen-plugin WSDL からの Java アーティファクトの使用

Maven cxf プラグイン cxf-codegen-plugin WSDL からの Java アーティファクトの使用。しかし、javacode は Eclipse IDE に取り込まれません。

Eclipse プロジェクトで Java ソース コードを取得するには、他のタグを指定する必要がありますか。

以下は私のpom.xmlです

これが私のフォルダ構造です。

ここに画像の説明を入力

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

java - null 配列が渡されると、CXF サービス プロキシが NullPointerException を引き起こす

cxf-java2ws-plugin および cxf-codegen-plugin を使用して Maven 経由で CXF 2.7.11 を使用すると、Web サービス クラスから WSDL が生成され、そこから WSDL プロキシ クラスが生成され、さまざまなクライアントで使用されて実際のライブサーバー。

これらの生成されたサービス プロキシには、null 配列が渡されると NullPointerException が発生するという問題があります。

Web サービスは次のようなものです。

生成された WSDL フラグメント:

最後に生成されたサービス プロキシ フラグメント:

WSDL 生成用の pom.xml フラグメント:

上記の WSDL からプロキシを生成するための pom.xml フラグメント:

null 配列を渡したいクライアントに対処するサービス プロキシを CXF に生成させるにはどうすればよいですか? (空の配列または null を含む配列ではなく、実際の null 配列)。WSDL で「nillable=true」として宣言された「otherParams」が必要ですか? もしそうなら、どのように?

多くの注釈と JAXB/JAXWS オプションを試しましたが、望ましい動作が得られないようです。