首页 / JAVA / Java代码调用C#实现的Web服务
Java代码调用C#实现的Web服务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java代码调用C#实现的Web服务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3139字,纯文字阅读大概需要5分钟。
内容图文
1.WebService项目结构
SimpleModel类:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace DonetWS { public class SimpleModel { public System.Int32 id { set ; get ; } public System.String str { set ; get ; } } }
DonetWS.asmx代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace DonetWS { /// <summary> /// DonetWS 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService]publicclass DonetWS : System.Web.Services.WebService { //测试传参 [WebMethod] publicstring HelloWorld(string name) { return"Hello World, " + name; } //测试获取对象集合 [WebMethod] public List<SimpleModel> getModelList() { List<SimpleModel> rsltData = new List<SimpleModel>(); SimpleModel model = new SimpleModel(); model.id = 1; model.str = "str1"; rsltData.Add(model); model = new SimpleModel(); model.id = 2; model.str = "str2"; rsltData.Add(model); return rsltData; } } }
run起来:
2.使用Apache Cxf框架实现客户端调用
在Java项目pom.xml 中加入:
< dependency > < groupId >org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.0.3</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http</artifactId><version>3.0.3</version></dependency>
jars:
打开CMD, 在Cxf目录bin文件夹下
运行: wsdl2java -p org.tempuri -d src -client http://localhost:26715/DonetWS.asmx?wsdl
生成以下类:
只留下这4个类, 放到java项目的 org.tempuri 包中
Java项目结构
CxfClient类代码
import java.util.List; import java.util.ResourceBundle; import org.apache.cxf.endpoint.Client; import org.apache.cxf.endpoint.dynamic.DynamicClientFactory; import org.tempuri.ArrayOfSimpleModel; import org.tempuri.SimpleModel; public class CxfClient { public static ResourceBundle r = ResourceBundle.getBundle("config"); publicstatic DynamicClientFactory dcf = DynamicClientFactory.newInstance(); publicstatic Client client = dcf.createClient(r.getString("wsdlLocation")); publicstaticvoid syncHelloWorld() { try { Object[] replys = client.invoke("HelloWorld", "darkdog"); for (Object reply : replys) { String rsltData = (String) reply; System.out.println(rsltData); } } catch (Exception e) { e.printStackTrace(); } } publicstaticvoid syncGetModelList() { try { Object[] replys = client.invoke("getModelList"); for (Object reply : replys) { ArrayOfSimpleModel arrayOfSimpleModel = (ArrayOfSimpleModel) reply; List<SimpleModel> simpleModels = arrayOfSimpleModel.getSimpleModel(); for(SimpleModel simpleModel : simpleModels) { System.out.println(simpleModel.getId() + " " + simpleModel.getStr()); } } } catch (Exception e) { e.printStackTrace(); } } publicstaticvoid main(String[] args) { syncHelloWorld(); syncGetModelList(); } }
config.properties:
wsdlLocation=http\://localhost\:26715/DonetWS.asmx?wsdl
完成!
原文:http://www.cnblogs.com/darkdog/p/4279880.html
内容总结
以上是互联网集市为您收集整理的Java代码调用C#实现的Web服务全部内容,希望文章能够帮你解决Java代码调用C#实现的Web服务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。