Java,C#,Flex三方通讯(一)

20 篇文章 0 订阅

今天是第一讲:

Java调用C#-WebService

 

今天做了一个Java调用C#的Webservice的小例子

 

1.建立Java WebProject工程

2.建立index.jsp

Html代码   收藏代码
  1. < %@ page  language = "java"   contentType = "text/html; charset=ISO-8859-1"   
  2.     pageEncoding = "ISO-8859-1" % >   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  4.   
  5.   
  6.   
  7. < %@page  import = "com.fh.Test" % >   
  8. < html >   
  9. < head >   
  10. < meta   http-equiv = "Content-Type"   content = "text/html; charset=ISO-8859-1" >   
  11. < title > Insert title here </ title >   
  12. </ head >   
  13. < body >   
  14.     < form   action = "index.jsp"   method = "get"   name = "testform" >   
  15.         < input    type = "text"   name = "name"   size = 10 />    
  16.         < input   type = "submit"   name = "submit"   value = "submit" >   
  17.         < input   type = "reset"   name = "reset"   value = "reset" />   
  18.     </ form >   
  19.     < %  
  20.     String str  =  request .getParameter("name");  
  21.     System.out.print(str);  
  22.     Test pc  =  new  Test();   
  23.     pc.Call(str);  
  24.     %>   
  25. </ body >   
  26. </ html >   

 Test.java

 

Java代码   收藏代码
  1. package  com.fh;  
  2.   
  3. public   class  Test {  
  4.       
  5.     public   void  Call(String str)  throws  Exception  
  6.     {   
  7.           
  8.         System.out.println(str);  
  9.         String result = "" ;  
  10.           
  11.         result = WebServiceUtil.CallWebService(str);   
  12.     }  
  13. }  

 WebServiceUtil.java

Java代码   收藏代码
  1. package  com.fh;  
  2.   
  3. import  javax.xml.namespace.QName;  
  4.   
  5. import  org.apache.axis.client.Call;  
  6. import  org.apache.axis.client.Service;  
  7.   
  8. public   class  WebServiceUtil {  
  9.     public   static  String CallWebService(String name) {  
  10.         String res = "" ;  
  11.         try  {  
  12.             String service_url = "<span style=" color: #ff0000;">http: //test.com:81/Service1.asmx</span>   
  13.   
  14. ";  
  15.             Service service = new  Service();  
  16.             Call call = (Call) service.createCall();  
  17.   
  18.             call.setTargetEndpointAddress(new  java.net.URL(service_url));  
  19.             call.setOperationName(new  QName( "<span style=" color: #ff0000;">http: //test.com/T</span>   
  20.   
  21. ",  
  22.                     "<span style=" color: #ff0000;">HelloWordByName</span>  
  23.   
  24. "));  
  25.             call.addParameter("name" ,  
  26.                     org.apache.axis.encoding.XMLType.XSD_STRING,  
  27.                     javax.xml.rpc.ParameterMode.IN);  
  28.   
  29.             call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);  
  30.             call.setUseSOAPAction(true );  
  31.                           
  32.             call.setSOAPActionURI("<span style=" color: #ff0000;">http: //test.com/HelloWordByName</span>   
  33.   
  34. ");  
  35.   
  36.             if  (name ==  null ) {  
  37.                 name = "namepp" ;  
  38.             }  
  39.             res = (String) call.invoke(new  Object[] { name });  
  40.             System.out.println(" Result: "  + res.toString());  
  41.   
  42.         } catch  (Exception e) {  
  43.             // TODO Auto-generated catch block   
  44.             e.printStackTrace();  
  45.         }  
  46.         return  res;  
  47.     }  
  48. }  

 注意:我们需要引入axis.jar等几个jar包,请到官方下载。

 

 

3.建立C#(WebService)工程

 

Service1.asmx.cs

C#代码   收藏代码
  1. using  System;  
  2. using  System.Web;  
  3. using  System.Web.Services;  
  4. using  System.Web.Services.Protocols;  
  5. using  System.Web.Services.Description;   
  6.   
  7. namespace  WebServiceTest  
  8. {  
  9.     /// <summary>   
  10.     /// Summary description for Service1   
  11.     /// </summary>   
  12.     [WebService(Namespace = "<span style=" color: #ff0000;">http: //test.com/</span>   
  13.   
  14. ")]  
  15.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
  16.     [System.ComponentModel.ToolboxItem(false )]  
  17.     // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.    
  18.     // [System.Web.Script.Services.ScriptService]   
  19.     public   class  Service1 : System.Web.Services.WebService  
  20.     {  
  21.   
  22.         [SoapRpcMethod(Action = "<span style=" color: #ff0000;">http: //test.com/HelloWordByName</span>   
  23.   
  24. ",  
  25.           RequestNamespace = "<span style=" color: #ff0000;">http: //test.com/T</span>   
  26.   
  27. ",  
  28.           ResponseNamespace = "<span style=" color: #ff0000;">http: //test.com/T</span>   
  29.   
  30. ",  
  31.           Use = SoapBindingUse.Literal)]  
  32.         [WebMethod]  
  33.         public   string  HelloWordByName(String name)  
  34.         {  
  35.             String hwname = "Hello Word !!"  + name;  
  36.             return  hwname;  
  37.         }  
  38.     }  
  39. }  

注意:要publish发布工程,发布到一个指定的目录,便于IIS引入路径。

 

 

4.建立IIS虚拟目录

 

在IIS上面测试WebService是否可用。

 

如果大家喜欢?

后续我会带来,第二节课, C#和Flex通过WebOrb交互工程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值