当前位置: 代码迷 >> XML/SOAP >> Axis webservice怎么在一个服务端中调用另一个远程的webservice服务
  详细解决方案

Axis webservice怎么在一个服务端中调用另一个远程的webservice服务

热度:573   发布时间:2012-04-12 15:46:35.0
Axis webservice如何在一个服务端中调用另一个远程的webservice服务?
有两个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服务中试试。
------解决方案--------------------
探讨
服务a调用服务b原理上可实现,细节上应该是那个调用程序的问题,可以考出来单独调用,看不出问题;
实际上,
从SOA的角度,解决这个问题是通过服务组合,即将服务a和服务b通过
bpel按照你的业务逻辑组合起来,形成服务c,这样调用服务c,就实现了a和b的调用。
这样做的好处是:
可以通过服务组合引擎实现对a和b状态的监控,你说的用a调用b就违背了soa松耦合的初衷,即一旦a发生了异常,根本……
  相关解决方案