WSO2ESBでサポートされているさまざまなトランスポートを試しています。WSO2ESBのTCPトランスポートを有効にしたい。をダウンロードしてaxis2-transport-tcp-1.0.0.jar
、に配置しましたESB_HOME/repository/components/lib
。追加することでTransportSenderを有効にすることができました
<transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
axis2.xml
構成ファイルに。トランスポートレシーバーを有効にするために、同様の行を追加しました
<transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer"/>
ただし、WSO2 ESBを再起動すると、トランスポートレシーバーの初期化に失敗します。代わりに私は:を取得しInstantiationError
ます
org.apache.axis2.AxisFault: Exception occured while loading the Axis configuration from /usr/local/wso2esb/repository/conf/axis2/axis2.xml
at org.wso2.carbon.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:190)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65)
at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398)
at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)
at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: org.apache.axis2.deployment.DeploymentException: org.apache.axis2.transport.tcp.TCPServer
at org.apache.axis2.deployment.AxisConfigBuilder.processTransportReceivers(AxisConfigBuilder.java:643)
at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:130)
at org.wso2.carbon.core.CarbonAxisConfigurator.populateAxisConfiguration(CarbonAxisConfigurator.java:308)
at org.wso2.carbon.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:188)
... 8 more
Caused by: java.lang.InstantiationException: org.apache.axis2.transport.tcp.TCPServer
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.axis2.deployment.AxisConfigBuilder.processTransportReceivers(AxisConfigBuilder.java:627)
... 11 more
にポート番号パラメータを指定しようとしましたaxis2.xml
が、何も変更されていません。
エラーを追跡しようとしました。パラメータなしのコンストラクタがないため、クラスオブジェクトをインスタンス化できないようです。しかし、同じjarファイルを使用して、エラーなしで次の例を実行しました。
String className = "org.apache.axis2.transport.tcp.TCPServer";
Class receiverClass;
receiverClass = Loader.loadClass(className);
TransportListener receiver = (TransportListener) receiverClass.newInstance();
統合の問題だと思いますが、解決策は思いつきませんでした。