AEM 6.5 で JAXWS WebServices コールが機能しない

問題

AEM 6.5 移行で JAXWS WebServices コールが機能しない

解決策

この問題は、CFX パッケージが AEM から削除され、外部でインストールする必要があることによるものです。

この問題を解決するには、CXF DOSGi 2.3.0 リリース用の最小限の jar ファイルを提供する「cfx-bundles-1.0.zip」パッケージをインストールします

以下は、最小限の JAR セットです。

/apps/cxf/install/org.apache.servicemix.bundles.wsdl4j-1.6.3_1.jar 
/apps/cxf/install/woodstox-core-5.0.3.jar 
/apps/cxf/install/cxf-core-3.2.0.jar 
/apps/cxf/install/cxf-rt-bindings-soap-3.2.0.jar 
/apps/cxf/install/cxf-rt-bindings-xml-3.2.0.jar 
/apps/cxf/install/cxf-rt-frontend-simple-3.2.0.jar 
/apps/cxf/install/cxf-rt-databinding-jaxb-3.2.0.jar 
/apps/cxf/install/cxf-rt-transports-http-3.2.0.jar 
/apps/cxf/install/cxf-rt-wsdl-3.2.0.jar 
/apps/cxf/install/xmlschema-core-2.2.2.jar 
/apps/cxf/install/woodstox-core-5.0.3.jar 
/apps/cxf/install/stax2-api-3.1.4.jar 
/apps/cxf/install/validation-api-1.1.0.Final.jar 
/apps/cxf/install/asm-all-5.0.4.jar

場合によっては、次のエラーでまだ JAXWS コールが失敗することがあります。

javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method <method>. 
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:129) [org.apache.cxf.cxf-rt-frontend-jaxws:3.2.10] 
at com.sun.proxy.$Proxy254.getKeywords(Unknown Source)

この問題を解決するには、次の手順に従います。

1. バンドルの Import-Package ディレクティブから次の内容を削除します。

!javax.jws.*, 
!javax.xml.bind.*, 
!javax.xml.bind.annotation.*,

2. これらのパッケージを取得して、もう一度解決し、次の依存関係をコアバンドルに追加します。

<dependency> 
  <artifactId>org.apache.servicemix.specs.jaxb-api-2.2</artifactId> 
  <version>2.9.0</version> 
  <groupId>org.apache.servicemix.specs</groupId> 
  <scope>provided</scope> 
</dependency> 
<dependency> 
  <artifactId>geronimo-ws-metadata_2.0_spec</artifactId> 
  <version>1.1.3</version> 
  <groupId>org.apache.geronimo.specs</groupId> 
  <scope>provided</scope> 
</dependency>

ダウンロード

警告:

メモ:Java 11 を使用している場合は、この記事も参照してください。

アドビのロゴ

アカウントにログイン