Net做客户端,调用Java开发的Axis2 WebService
1. 打开Eclipse新建一个工程DBws,然后再src文件夹添加类db,保存生产db.class文件
1 public class db { 2 private static List<String> mNameList = new ArrayList<String>(); 3 4 public void AddUser(String name){ 5 mNameList.add(name); 6 } 7 8 public void RemoveUser(String name){ 9 for(int i = 0 ; i < mNameList.size();i++){ 10 if(name == mNameList.get(i)){ 11 mNameList.remove(i); 12 } 13 } 14 } 15 16 public String GetUser(){ 17 int cnt = mNameList.size(); 18 String s = ""; 19 for( int i = 0 ; i < cnt ; i++ ) 20 { 21 s+= mNameList.get(i); 22 } 23 return s; 24 } 25 }
2. 通过Eclipse将编写好的db.class发布成db.aar文件,通过Axis2 Service Archiver发布(这里需要下载两个用于Eclipse中发布axis2的插件,参见axis2官方网站)
3. 将生成的db.aar文件配置到Tomcat,置于路径:"你安装的路径"\Apache Software Foundation\Tomcat 7.0\webapps\axis2\WEB-INF\services下
4.然后可以通过浏览器输入http://localhost:8080/axis2/services/listServices 查看下服务
5. 新建一个NET工程,添加服务引用,这里通过获取wsdl,例如本例:http://localhost:8080/axis2/services/BDws?wsdl
6.NET客户端添加三个按钮,分别用于添加,移除,列出用户名称
1 private void btnInvoke_Click(object sender, RoutedEventArgs e) { 2 //ServiceReference1.wsPortTypeClient client = new ServiceReference1.wsPortTypeClient("wsHttpSoap12Endpoint"); 3 //string strName = string.Empty; 4 5 //strName = client.SayHello("Andy"); 6 //MessageBox.Show(strName); 7 if (client != null) 8 client.RemoveUser("andy"); 9 10 } 11 private ServiceReference2.BDwsPortTypeClient client = null; 12 private void Button_Click(object sender, RoutedEventArgs e) { 13 client = new ServiceReference2.BDwsPortTypeClient("BDwsHttpSoap11Endpoint"); 14 15 client.AddUser("andy"); 16 client.AddUser("eangel"); 17 client.AddUser("mrkrcl"); 18 } 19 20 private void Button_Click_1(object sender, RoutedEventArgs e) { 21 if (client != null) { 22 txt.Text = client.GetUser(); 23 } 24 25 }
7. 一个简单的C#调用AXIS2 Webservice例子完成,这里只是一个简单的演示,没有涉及太多的基础概念知识,在NET客户端调用时候设置需要注意的就是采用的
soap版本是1.1还是1.2

浙公网安备 33010602011771号