2013-12-23 60 views
0

我想通過weblogic 10.3通過Axis 1.4進行RPC方法調用。布我總是有以下錯誤。RPC調用Weblogic 10.3和Axis 1.4

org.apache.axis.ConfigurationException: No Service named SendMessagePort is available 

當我在Java SE項目中使用完全相同的代碼部分時,沒有發生錯誤。

鏈接http://axis.apache.org/axis/java/install.html表示在使用weblogic 8.1和axis 1.4時應該有額外的配置。雖然我已經應用了這種方法,但它尚未解決問題。

我確定.wsdl可以訪問,並且可以使用SOAP UI進行調用。

是否有類似的配置爲weblogic 10.3創建Axis客戶端和進行rpc調用?

回答

0

修改startWebLogic.cmd後如下所示。問題已解決。

set CLASSPATH=%SAVE_CLASSPATH%;%DOMAIN_HOME%\lib\jaxrpc.jar;%DOMAIN_HOME%\lib\saaj.jar 

之後我意識到有一個異常發生,雖然一切工作正常。

•org.apache.axis.ConfigurationException: No service named XXX is available 

這是因爲記錄該代碼在AxisEngine(線308在軸的1.x):

public SOAPService getService(String name) throws AxisFault 
    { 
     try { 
      return config.getService(new QName(null, name)); 
     } catch (ConfigurationException e) { 
      try { 
       return config.getServiceByNamespaceURI(name); 
      } catch (ConfigurationException e1) { 
       throw new AxisFault(e); 
      } 
     } 
    } 

取決於一個異常被在第一次嘗試(線311),以便然後嘗試投擲找到該服務的不同方法(如果在316行上沒有看到AxisFault的日誌,則成功)。創建日誌條目是因爲ConfigurationException在創建時記錄自己(在DEBUG級別)(可疑練習,imho)。爲了避免這種誤導性日誌條目,您需要將其添加到您的

log4j.properties file: 
log4j.logger.org.apache.axis.ConfigurationException = INFO