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

  刚接手一个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。

 

你可能感兴趣的:(Webservice错误集锦)