1.新建一个项目作为axis2客户端。然后用eclipse自带的工具自动生成wsdl对应的java类,项目结构如图所示:
红框部分为根据WSDL自动生成的WebService代码,下面来讲解下这些类所代表的含义,这里首先建议不懂webservice的朋友先去看看WSDL,看看他的每个元素节点代表的意义,这样对应到java代码就好理解多了。
首先是MySecondAxisSrv.java,这个是webservice接口,该接口的实现类为MySecondAxisSrvLocator,或许此时你会想,我服务端没写接口啊,怎么会跑出个接口,这个不用管,他是将WSDL转化成JAVA类的,底层如何转有兴趣的朋友可以去查查,总之客户端的调用流程为:
创建服务类,根据服务类找到服务端口(PortType:可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)),该端口其实就是封装好了服务所执行的操作,代码如下:
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import com.zsj.MySecondAxisSrv;
import com.zsj.MySecondAxisSrvLocator;
import com.zsj.MySecondAxisSrvPortType;
public class Test {
public static void main(String[] args) throws ServiceException {
MySecondAxisSrv sec=new MySecondAxisSrvLocator();
MySecondAxisSrvPortType port=sec.getmySecondAxisSrvHttpSoap11Endpoint();
try {
System.out.println(port.getAge());
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
,