`

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

阅读更多

今天是第一讲:

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交互工程。

1
0
分享到:
评论

相关推荐

    Flex 与 C# 通讯

    Flex与C#之间的通讯是跨平台应用程序开发中的一个重要主题,特别是在构建富互联网应用程序(RIA)时。本篇文章将深入探讨如何使用Flex与C#(在WinForm环境下)通过Flash Player进行交互,以及在这个过程中涉及的关键...

    C# 代码转换为 Java C# To Java Converter

    C# 代码转换为 Java C# To Java Converter 解除限制 C# 代码转换为 Java C# To Java Converter 解除限制 C# 代码转换为 Java C# To Java Converter 解除限制

    C#与flex交互

    在C#端创建一个委托,对应Flex中的方法签名,然后在需要调用Flex方法时,通过Flash控件发送消息到Flex端,由Flex端的事件监听器接收并执行相应的方法。 5. **通信机制**: 通常,C#与Flex之间的通信是通过...

    Java to C# Converter

    试用演示版的Java文件夹转换到C#转换器2000行的代码片段转换到200行一次。 官方网站 http://www.tangiblesoftwaresolutions.com/ 有需要其他转换器的可以给我留言,我可以帮你破解. Instant C# converts VB code to...

    java调用c#样例

    总之,这个示例提供了Java通过Jacob库调用C# DLL的方法,这对于那些需要在Java应用中利用.NET功能的开发者来说,是一个非常有价值的参考资源。通过理解Jacob的工作原理和实践中的调用流程,可以有效地实现Java和.NET...

    RSA加密JAVA转C# JAVA转PHP,C#转JAVA

    压缩包中的`rsa_c#2java`可能是一个C#编写的工具,用于将RSA密钥从C#格式转换为JAVA可使用的格式。使用该工具时,需要确保系统已安装.NET Framework环境,否则可能无法运行。转换后,可以在JAVA应用程序中直接使用...

    FLEX+Delphi,FLEX+Java,FLEX+C# 的聊天室

    ---------------------------- chat 客户端代码 FLEX3 开发 ChatServer Delphi6 开发的服务端 Server java 开发的服务端 WindowsApplication1 C# 开发的服务端 &lt;br&gt;其实可以做到FLEX+Delphi,...

    Flex用C#和J2EE连接数据库

    一、Flex与C#连接数据库 1. **数据访问层(DAL)**:在C#环境中,通常使用ADO.NET作为数据访问层,它提供了对SQL Server、Oracle等数据库的直接访问。在Flex中,我们可以使用AMFPHP或BlazeDS来建立与C#服务的通信...

    JAVA类库转换成C#类库工具

    标题"JAVA类库转换成C#类库工具"以及描述中提到的"C#引用JAVA类库"、"C#调用JAVA类库"和"C#解析JAVA类库"都涉及到一个关键的技术:IKVM。 IKVM是“Java to .NET”的一个开源实现,它允许C#或其他.NET语言直接引用和...

    基于C#的CAN通讯示例

    在本文中,我们将深入探讨如何使用C#进行CAN(Controller Area Network)通信,这是一个广泛应用于汽车、工业自动化和嵌入式系统中的串行...而"基于C#的CAN通讯示例"项目则为我们提供了一个实践学习和参考的宝贵资源。

    Java 代码转换为 C# Java to C# Converter

    Java 代码转换为 C# Java to C# Converter 解除限制 Java 代码转换为 C# Java to C# Converter 解除限制 Java 代码转换为 C# Java to C# Converter 解除限制

    C# To JAVA Converter v17.10.6

    C# To Java converter是一款将C#代码片段或者C#项目转换为JAVA的工具。 转换所有版本的C#代码 评估所有引用的程序集和.NET项目,以便更完整地解析外部引用 许多转换和格式化选项 将C#代理和lambdas转换为Java接口...

    C#与三菱PLC通讯

    首先,C#与三菱PLC通讯的核心在于找到一个合适的接口或控件。在这个案例中,使用了三菱的AcUtlType控件。这个控件是三菱官方提供的,专门为C#等.NET语言提供与三菱PLC通讯的支持。它封装了必要的通讯协议,使得...

    c++ 转换 java c# 转换 java c++ 转换 c#

    `C# to Java Converter.zip`可能是另一个转换工具,用于帮助开发者将C#代码转换为Java代码,以适应Java平台的需求。 C++到C#的转换则涉及到.NET框架和C++/CLI等技术。C++/CLI是Microsoft为.NET设计的一个语言扩展,...

    java调用C#封装的dll方法

    为了实现Java与C#之间的交互,一种常用的方式是通过调用C#封装的DLL文件来完成特定功能。这种方法涉及到.NET Framework与Java平台之间的互操作性问题。其中一种方案是使用Java Native Access (JNA) 来调用通过C++...

    基于C#的即时通讯客户端源码.zip

    【描述】"基于C#的即时通讯客户端源码.zip"是一个学习和参考的资源,它展示了如何利用C#开发一个即时通讯应用。这个项目可能包括了从连接服务器、发送接收消息、用户身份验证到状态更新等一系列功能的实现。通过分析...

    Flex Socket与C#通信

    Flex Socket与C#通信是网络编程中的一个常见应用场景,尤其在构建实时交互系统时,如聊天、游戏等。本文将深入探讨如何使用Flex Socket技术在客户端实现与C#服务器端的高效通信,以及相关的实现细节。 Flex是Adobe...

    Java调用C#DLL

    本资源聚焦于一个具体的问题:如何在Java中调用C#编写的DLL(动态链接库)文件。下面将详细讲解这个过程,以及相关的知识点。 首先,我们需要了解DLL的本质。DLL是微软Windows操作系统中的一个重要组成部分,它封装...

    C#调用Java接口演示

    总结来说,C#调用Java接口是一个相对复杂的过程,需要对Java和.NET平台都有深入的理解。使用IKVM.NET或其他类似的工具可以简化这个过程,但仍然需要注意跨语言通信中的类型映射、异常处理和性能优化等问题。实际项目...

Global site tag (gtag.js) - Google Analytics