問題タブ [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.
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 が連携しないようにするためですか? または、私の設定に何か問題がありますか?
xsd - CXF wsdl2java がスキーマを正しく読み取らない
WSDL を使用して Java クラスを生成するように構成された以下の wsdl2java プラグインを使用しています。
これで、以下のスキーマが WSDL に含まれるようになりました。
要素定義が以下のように WSDL 内にある場合、myElementのクラスが生成されますが、これで問題ありません。
しかし、WSDL の要素定義がスキーマの ComplexType 定義を参照している場合。次に、要素クラスaaaは生成されず、aaaTypeクラスのみが生成されます。
wsdl2java を指定して、クラスaaaとaaaTypeの両方を生成し、 aaa内でaaaTypeを参照する方法はありますか?
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」の属性であることです。
何が悪いのか分かりますか?ありがとうございました。
java - 署名トークンなし Java CXF クライアント
.NET WCF サービスと通信する Apache-CXF-2.7.11 を使用して Java クライアントを構築しようとしています。
私のJavaクライアントコードは次のとおりです。クライアントはIDEで自動生成され、CXFドキュメントからコピーした資格情報のみです。
例外は結果です:
ユーザー名トークンを設定する他の方法はありますか?
PD 私の英語でごめんなさい...
cxf - 2 つのバンドルで cxf を使用すると例外が発生する: インターフェイス itable の初期化でローダー制約違反が発生する
からビデオを呼び出すためApache CXF
に一部で使用します。これは正常に動作し、movingimage24 からビデオを呼び出して問題なく表示できます。bundle A
http://www.movingimage24.com/
Portal A
Portal A
inのように同じ方法Apache CXF
でいくつかを使用し、 my でビデオを呼び出そうとすると、次の例外がスローされます。Bundle B
Bundle A
portal 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 が初めてで、誰かが私を助けてくれることを願っています。
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 ファイルです:
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 の後にリリースされ、特定のエンコーディングでファイルを生成するオプションが含まれていました)。
maven - maven cxf プラグイン cxf-codegen-plugin WSDL からの Java アーティファクトの使用
Maven cxf プラグイン cxf-codegen-plugin WSDL からの Java アーティファクトの使用。しかし、javacode は Eclipse IDE に取り込まれません。
Eclipse プロジェクトで Java ソース コードを取得するには、他のタグを指定する必要がありますか。
以下は私のpom.xmlです
これが私のフォルダ構造です。
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 オプションを試しましたが、望ましい動作が得られないようです。