我正在尝试通过weblogic 10.3通过Axis 1.4进行RPC方法调用。我总是遇到以下错误。
org.apache.axis.ConfigurationException: No Service named SendMessagePort is available
当我在Java SE项目中使用完全相同的代码部分时,没有发生错误。
链接http://axis.apache.org/axis/java/install.html表示在使用weblogic 8.1和1.4版时应该有一个额外的配置。虽然我已经应用了这种方法但它还没有解决这个问题。
我确信.wsdl是可访问的,可以使用SOAP UI进行调用。
weblogic 10.3是否有类似的配置来创建Axis客户端并进行rpc调用?
答案 0 :(得分: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中的此代码(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级别)(可疑实践,imho)。为了避免这种误导性的日志条目,您需要将其添加到
log4j.properties file:
log4j.logger.org.apache.axis.ConfigurationException = INFO