JMS/IBM MQトランスポートを使用してJAX-RPCクライアントを作成しようとしています。Apache Axis JAX-RPC over IBM MQ - IllegalArgumentException:noCFName
私はリファレンスとして、以下のガイドを使用しています:https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q033020_.htm
私は外部の関係者からWSDLを受けています。 HTTPバインディングのみが含まれていますが、JMS/IBM MQトランスポートを使用する必要があります。エンドポイントは.NETとIBM MQ 8です。
私はwsdlからクラスを生成するためにAxis 1.4を使用します。 私は、外部パーティが提供するエンドポイントURLでWebサービスの呼び出しをテストしようとすると:
public static void main(String[] args) throws MalformedURLException, ServiceException, RemoteException {
com.ibm.mq.soap.Register.extension();
Wf1AGwImplLocator locator = new Wf1AGwImplLocator();
IWf1AGw impl = locator.getBasicHttpBinding_IWf1aGw(
new URL("jms:/queue?destination=QG.WF1AGW.REQ&connectionFactory=clientChannel(WIP.SVRCONN)clientConnection(<externalIP1>(1414), <externalIP2>(1414))&initialContextFactory=com.ibm.mq.jms.Nojndi&replyDestination=QP.ABBSVC.WF1AGW.RESP&timeToLive=30000&persistence=1"));
impl.dispatch("", "", "", "", "",false, "", "", 1, Calendar.getInstance(), false, "", "");
}
私は、次のようなエラーが出ます:
cannotConnect; nested exception is: java.lang.IllegalArgumentException: noCFName at org.apache.axis.transport.jms.JMSConnectorManager.getConnector(JMSConnectorManager.java:122) at org.apache.axis.transport.jms.JMSTransport.setupMessageContextImpl(JMSTransport.java:163) at org.apache.axis.client.Transport.setupMessageContext(Transport.java:46) at org.apache.axis.client.Call.invoke(Call.java:2738) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.test.BasicHttpBinding_IWf1AGwStub.dispatch(BasicHttpBinding_IWf1AGwStub.java:201) at com.test.Test.main(Test.java:19) Caused by: java.lang.IllegalArgumentException: noCFName at org.apache.axis.components.jms.JNDIVendorAdapter.getConnectionFactory(JNDIVendorAdapter.java:71) at org.apache.axis.components.jms.JNDIVendorAdapter.getQueueConnectionFactory(JNDIVendorAdapter.java:55) at org.apache.axis.transport.jms.JMSConnectorFactory.createConnector(JMSConnectorFactory.java:227) at org.apache.axis.transport.jms.JMSConnectorFactory.createClientConnector(JMSConnectorFactory.java:178) at org.apache.axis.transport.jms.JMSConnectorManager.getConnector(JMSConnectorManager.java:107)
エラーテキストが、私はQCFに名前を付ける必要があることを示唆していますこれはnojndi QCFですか?これをどうすれば解決できますか? axis.jarにクライアント設定を上書きするには
<transport name="jms" pivot="java:com.ibm.mq.soap.transport.jms.WMQSender"/>
:私のプロジェクトにクライアント-config.wsddをを追加し、次の行を追加する必要が
私は自己回答の質問を愛する、私は人々がすべての高度な問題でそれを行うことを望む。 – Dariusz