有两个webservice的服务A和B,我单独调用都没有问题。
现在我调用服务A,然后在服务A中再去调用服务B
可是在服务A中一旦 new Service(); 想调B的服务的时候就报出异常
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: Error invoking 'service.IEipServ.SendService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)'. Nested exception is java.lang.reflect.InvocationTargetException: null
{http://xml.apache.org/axis/}stackTrace:Error invoking 'service.IEipServ.SendService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)'. Nested exception is java.lang.reflect.InvocationTargetException: null
问下各位大牛是什么地方错了啊?
------解决方案--------------------
应该是有一个字段是空值导致
------解决方案--------------------
服务a调用服务b原理上可实现,细节上应该是那个调用程序的问题,可以考出来单独调用,看不出问题;
实际上,
从SOA的角度,解决这个问题是通过服务组合,即将服务a和服务b通过
bpel按照你的业务逻辑组合起来,形成服务c,这样调用服务c,就实现了a和b的调用。
这样做的好处是:
可以通过服务组合引擎实现对a和b状态的监控,你说的用a调用b就违背了soa松耦合的初衷,即一旦a发生了异常,根本不知道是a本身的异常还是b的异常。
------解决方案--------------------
错误的意思是你A服务内部出错了,可能是A调用的B方法不对。
因为你单独调用B能成功,你把单独调用B服务的方法放进A服务中试试。
------解决方案--------------------