我为axis2创建了一个服务,并为该服务实现了服务框架和MessageReceiver。
当我现在想要从客户端调用该服务时,服务器上的Receiver接收该调用,但是在此骨架代码中:
public void invokeBusinessLogic(
org.apache.axis2.context.MessageContext msgContext,
org.apache.axis2.context.MessageContext newMsgContext)
throws org.apache.axis2.AxisFault {
System.out.println("! !invokeBusinessLogic");
try {
// get the implementation class for the Web Service
Object obj = getTheImplementationObject(msgContext);
System.out.println("2invokeBusinessLogic");
....
'2invokeBusinessLogic'将永远不会被打印出来。 我检查了localhost:8080上的服务器,并在那里正确列出了服务。
所以我想调用该服务,服务Receiver获取请求但是找不到骨架?
没有例外,我找不到问题。
我感谢任何帮助。
答案 0 :(得分:0)
我看到行Object obj = getTheImplementationObject(msgContext)
位于try / catch块中。出于问题排查目的,请尝试临时为Throwable
添加一个catch部分,或至少捕获NoClassDefFoundError
。我的回忆是,如果JVM类路径中缺少某些类,并且Axis2不会在任何地方记录这样的错误,那么在该步骤中您可以获得NoClassDefFoundError
。