《2022年用java调用C#编写的Webservice终稿 .pdf》由会员分享,可在线阅读,更多相关《2022年用java调用C#编写的Webservice终稿 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA 调用 C#编写的 Webservice 1 用到工具MyEclipes 10 2 建立 java客服端步骤第一步 获取 Webservice的 URL 如: http:/127.0.0.1/MyWebService.asmx?wsdl 第二部 在 MyEclipes创建 Web service client 如图所示新建一个 Web 图 1 新建一个service 项目名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - -
2、图 2 新建项目然后点击右键 new - other 选择 Web service client 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 图 3 建立 service 客服端一直点击 NEXT 直到 如下图所示地方图 4 输入 URL地址在 WSDL URL 输入你获取的 C#Webservice 地址点击 next 等它测试连接成功后出现如图所示则成功,否则就要检查URL是否正确并且再重新输入URL创建。名师资料总结
3、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 点击完成会在你的项目里自动生成如图所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 这样就等于你的客服端已经自动生成完成了现在就等着去调用service 里的方法。3 调用 Webservice方法第一步一般这里都点开和s
4、ervice 名字相同的 java 文件这个 URL(http:/127.0.0.1/MyWebService.asmx?wsdl)里面就包涵了Web service的名字所以我们点开MyWebService.java 如图所示。第二部写一个 mian 方法 调用publicstaticvoid main(String args) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - MyWebService service=new
5、 MyWebService(); /*ArrayOfString myAry=service.getMyWebServiceSoap().returnList();*/调用 list数组/*ArrayOfInt myAry=service.getMyWebServiceSoap().returnIntGroup();*/调用 int数组/* ArrayOfString myAry=service.getMyWebServiceSoap().returnStringGroup(); */调用 String数组/*String s= service.getMyWebServiceSoap().he
6、lloWorld();调用 hellowird方法。System.out.println(s);*/*Main m=new Main(); m.setUserName( 李四 ); String s=service.service.getMyWebServiceSoap().checkClass(m) System.out.println(s); */ 把Main 类传递给 Webservice 4 C# Webservice 程序using System; using System.Collections.Generic; using System.Linq; using System.We
7、b; using System.Web.Services; using System.Web.Services.Protocols; namespace WebApplication1 / / MyWebService 的摘要说明 / / /* SoapRpcMethod(Action = http:/192.168.1.101/, RequestNamespace = http:/192.168.1.101/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 -
8、 - - - - - - - - , ResponseNamespace = http:/192.168.1.101/) */ WebService(Namespace = http:/tempuri.org/) WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement) System.ComponentModel.ToolboxItem(false) / 若要允许使用 ASP.NET
9、AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 System.Web.Script.Services.ScriptService public class MyWebService : System.Web.Services.WebService WebMethod public string HelloWorld() return Hello World; / / 返回list类型数据 / / WebMethod public List returnList() List listString = new List(); listString.Add(1); listStrin
10、g.Add(2); listString.Add(3); listString.Add(4); listString.Add(5); return listString; / / 返回int 型一维数组 / / WebMethod public int returnIntGroup() int num = new int 100, 200, 300, 400, 500 ; return num; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - -
11、 - - - - / / 返回string型一维数组 / / WebMethod public string returnStringGroup() string str = new string 1000, 2000, 3000 ; return str; / / 返回string型二维数组 / / WebMethod public string returnStringArray() int n = 2; int m = 2; string str = new stringn; str0 = new stringm; str00 = 张三; str01 = 90; str1 = new s
12、tringm; str10 = 李四; str11 = 80; return str; / / 返回一个类 / / WebMethod public string checkClass(main mainClass) string str = 失败 ; main user = (main)mainClass; if (user.UserName = 李四) str = 成功; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - r
13、eturn str; 5 类调用注意事项这里值得提醒在传递类的时候 C#和 java 都必须要拥有相同的类才行。比如 C#有一个 Main 类 程序如下:using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication1 public class main private string userName; public string UserName get return userName; set userName = value; pri
14、vate string address; public string Address get return address; set address = value; private int age; public int Age get return age; set age = value; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - private string phone; public string Phone
15、get return phone; set phone = value; Java也有一个 Main 类 这个类是 java 在创建客服端的时候自动创建的程序如下:publicclass Main XmlElement (name = UserName ) protected String userName ; XmlElement (name = Address) protected String address ; XmlElement (name = Age ) protectedintage ; XmlElement (name = Phone ) protected ArrayOfS
16、tring phone ; public String getUserName() returnuserName ; publicvoid setUserName(String value) this. userName = value; public String getAddress() returnaddress ; publicvoid setAddress(String value) this. address = value; publicint getAge() returnage; publicvoid setAge(int value) this. age = value;
17、public ArrayOfString getPhone() returnphone ; publicvoid setPhone(ArrayOfString value) this. phone = value; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 6 总结在进行 java 调用 C# Webservice 的时候首先要确定service 的 URL地址正确,然后根据提示在java 开发工具里自动会生成相关的程序代码,免去了手动写代码的繁琐。在调用的时候需要自己慢慢研究每一个方法的作用。谢谢名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -