【问题标题】:RPC call Weblogic 10.3 and Axis 1.4RPC 调用 Weblogic 10.3 和 Axis 1.4
【发布时间】:2013-12-24 22:24:01
【问题描述】:

我正在尝试通过 Axis 1.4 在 weblogic 10.3 上进行 RPC 方法调用。但是我总是有以下错误。

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 调用?

【问题讨论】:

    标签: java jakarta-ee weblogic axis


    【解决方案1】:

    修改 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 中的代码(Axis 1.x 中的第 308 行):

     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 级别)(有问题的做法,恕我直言)。为了避免这种误导性的日志条目,您需要将其添加到您的

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 2016-06-26
      • 2013-01-29
      相关资源
      最近更新 更多