您的位置:首页 > 运维架构 > Apache

AXIS客户端调用出错org.apache.axis.NoEndPointException

2016-03-03 21:05 656 查看
刚接手一个WEB SERVICE项目,以前也只是自己做过web serivce简单例子。没想到刚接手,服务端就要改接口,以为很简单,没想到花费了不少时间。对方的wsdl文件使用axis生成了,而我一直用xfire,用xfire来生成客户端就一直报错,不能解析wsdl文件。还得用axis,郁闷,不知道哪位兄弟用过xfire生成axis wsdl文件的客户端。 客户端生成脚本:

set Axis_Lib=E:\work\NEW\ismplib

set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

set Output_Path=E:\work\NEW\ismpEjb\client

set Package=com.chinatelecom.ismp.crm

%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://61.132.240.84:7001/crmWebservice/services/IsmpCrmEngine?wsdl
PAUSE

其中有很多jar包需要:axis 的lib必不可少了,mail.jar,activation.jar,xmlsec-1.3.0.jar都需要

执行上面的脚本就OK。

主要是这几个文件:

com.chinatelecom.ismp.crm.IsmpCrmEngineService;

com.chinatelecom.ismp.crm.IsmpCrmEngineServiceLocator;

com.chinatelecom.ismp.crm.IsmpCrmEngineSoapBindingStub;

本以为直接 new IsmpCrmEngineSoapBindingStub就可以,结果就报了

这个错:AxisFault

faultCode: {http://xml.apache.org/axis/}Server.NoEndpoint

faultSubcode:

faultString: No endpoint

faultActor:

faultNode:

faultDetail:

{http://xml.apache.org/axis/}exceptionName:org.apache.axis.NoEndPointException

{http://xml.apache.org/axis/}stackTrace:No endpoint

忙了一下午才原来调用方法错了

IsmpCrmEngineService service=new IsmpCrmEngineServiceLocator();

IsmpCrmEngineSoapBindingStub binding =(IsmpCrmEngineSoapBindingStub) service.getIsmpCrmEngine();

这样就OK。

转载自:http://blog.sina.com.cn/s/blog_4ed066ff01000cys.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: