有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java RPC调用Weblogic 10.3和Axis 1.4

我试图通过weblogic 10.3上的Axis1.4进行RPC方法调用。但我总是有以下错误

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

当我在JavaSE项目中使用完全相同的代码部分时,并没有发生错误

Linkhttp://axis.apache.org/axis/java/install.html指出,在使用weblogic 8.1和axis 1.4时,应该有一个额外的配置。虽然我采用了这种方法,但并没有解决这个问题

我敢肯定。wsdl是可访问的,并且可以使用SOAP UI进行调用

weblogic 10.3是否有类似的配置来创建Axis客户端并进行rpc调用


共 (1) 个答案

  1. # 1 楼答案

    在修改Startweblog之后。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在创建时记录自身(在调试级别)(可疑实践,imho)。为避免此误导性日志条目,您需要将其添加到

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