解决:org.apache.axis2.AxisFault: Transport out has not been set

今天在做Axis2测试时,出现以下错误:

Exception in thread "main" org.apache.axis2.AxisFault: Transport out has not been set
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:439)
	at org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.send(RobustOutOnlyAxisOperation.java:80)
	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:446)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:426)
	at org.apache.axis2.rpc.client.RPCServiceClient.invokeRobust(RPCServiceClient.java:132)
	at sample.pojo.rpcclient.WeatherRPCClient.main(WeatherRPCClient.java:36)

我样例的结构是这样的,webservice部署在Tomcat,然后在Eclipse里使用RPC进行调用。

检查了EPR,并没有不对的地方(网上说http前面有空格或者EPR有其它错误就会报上述错)

EndpointReference targetEPR = new EndpointReference("http://192.168.87.222:8080/webservice/services/WeatherService");

 我又用下面的URL在浏览器里访问了一下,没有问题。

http://192.168.87.222:8080/webservice/services/WeatherService?wsdl

 然后自己又从很多方面进行了尝试,结果还是报这个错。

最后,当我把Axis2 axis2-1.2.zip里lib下的所有包加入Tomcat的lib里和Eclipse当前项目的classpath(开始只加入了一些必须的包),错误消失,并且访问成功!!经过后期排查,是由于少了commons-httpclient-3.0.1.jar。

猜你喜欢

转载自jerval.iteye.com/blog/2226095
今日推荐