<p>这几天公司需要做一个java和.net项目的整合,其中.net做了一个WebService,需要java来调用。本以为很容易的一个东西,结果弄了几天才弄好。<span style="background-color: #ffcc00">黄色背景</span>是自己增加的代码,特别注意,别问我为什么要这样用,因为我对.NET和JAVA都是半壶水,也不是很会,参照了网上很多其它方法,下面的方法完全调试成功,大家也可以试一下。</p><p><b>net的Service代码如下:</b></p><p><%@ WebService Language="C#" Class="Service" Debug=true %><br />using System;<br />using System.Web;<br />using System.Web.Services;<br />using System.Web.Services.Protocols;</p><p>namespace Service<br />{<br /><font style="background-color: #ffcc00"> [WebService(Namespace="</font><font style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</font><font style="background-color: #ffcc00">")]<br /></font></p><p> /// <summary><br /> /// Service1 的摘要说明。<br /> /// </summary><br /> public class Service : System.Web.Services.WebService<br /> {<br /> public Service()<br /> {<br /> //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的<br /> InitializeComponent();<br /> }</p><p> #region 组件设计器生成的代码<br /> <br /> //Web 服务设计器所必需的<br /> private IContainer components = null;<br /> <br /> /// <summary><br /> /// 设计器支持所需的方法 - 不要使用代码编辑器修改<br /> /// 此方法的内容。<br /> /// </summary><br /> private void InitializeComponent()<br /> {</p><p> }</p><p> /// <summary><br /> /// 清理所有正在使用的资源。<br /> /// </summary><br /> protected override void Dispose( bool disposing )<br /> {<br /> if(disposing && components != null)<br /> {<br /> components.Dispose();<br /> }<br /> base.Dispose(disposing); <br /> }<br /> <br /> #endregion</p><p><font style="background-color: #ffcc00"> [WebMethod(Description="test")]<br /> public string GetTestQuestions(string TeacherName,string Subject)<br /> {<br /> return "11111";<br /> }</font><br /> }<br />}<br />=================</p><p><b>Java调用代码:</b></p><p> public static String GetTestQuestions(String TeacherName,String Subject){<br /> String result = "";<br /> try{<br /> Service service = new Service();<br /> Call call = (Call) service.createCall();<br /> call.setOperationName(new QName("<span style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</span>", "GetTestQuestions"));<br /> call.addParameter("TeacherName", XMLType.XSD_STRING, ParameterMode.IN);<br /> call.addParameter("Subject", XMLType.XSD_STRING, ParameterMode.IN);<br /> call.setTargetEndpointAddress(new URL(<br /> "<span style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</span>")); <br /> result = (String) call.invoke(new Object[] { TeacherName, Subject}); <br /> <br /> }catch(Exception e){<br /> e.printStackTrace();<br /> }<br /> <br /> return result;<br /> }<br /> public static void main(String args[]){<br /> System.out.println(UserWebService.GetTestQuestions("aaa", "HOMA060E"));<br /><br /> }</p> Loading... <p>这几天公司需要做一个java和.net项目的整合,其中.net做了一个WebService,需要java来调用。本以为很容易的一个东西,结果弄了几天才弄好。<span style="background-color: #ffcc00">黄色背景</span>是自己增加的代码,特别注意,别问我为什么要这样用,因为我对.NET和JAVA都是半壶水,也不是很会,参照了网上很多其它方法,下面的方法完全调试成功,大家也可以试一下。</p><p><b>net的Service代码如下:</b></p><p><%@ WebService Language="C#" Class="Service" Debug=true %><br />using System;<br />using System.Web;<br />using System.Web.Services;<br />using System.Web.Services.Protocols;</p><p>namespace Service<br />{<br /><font style="background-color: #ffcc00"> [WebService(Namespace="</font><font style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</font><font style="background-color: #ffcc00">")]<br /></font></p><p> /// <summary><br /> /// Service1 的摘要说明。<br /> /// </summary><br /> public class Service : System.Web.Services.WebService<br /> {<br /> public Service()<br /> {<br /> //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的<br /> InitializeComponent();<br /> }</p><p> #region 组件设计器生成的代码<br /> <br /> //Web 服务设计器所必需的<br /> private IContainer components = null;<br /> <br /> /// <summary><br /> /// 设计器支持所需的方法 - 不要使用代码编辑器修改<br /> /// 此方法的内容。<br /> /// </summary><br /> private void InitializeComponent()<br /> {</p><p> }</p><p> /// <summary><br /> /// 清理所有正在使用的资源。<br /> /// </summary><br /> protected override void Dispose( bool disposing )<br /> {<br /> if(disposing && components != null)<br /> {<br /> components.Dispose();<br /> }<br /> base.Dispose(disposing); <br /> }<br /> <br /> #endregion</p><p><font style="background-color: #ffcc00"> [WebMethod(Description="test")]<br /> public string GetTestQuestions(string TeacherName,string Subject)<br /> {<br /> return "11111";<br /> }</font><br /> }<br />}<br />=================</p><p><b>Java调用代码:</b></p><p> public static String GetTestQuestions(String TeacherName,String Subject){<br /> String result = "";<br /> try{<br /> Service service = new Service();<br /> Call call = (Call) service.createCall();<br /> call.setOperationName(new QName("<span style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</span>", "GetTestQuestions"));<br /> call.addParameter("TeacherName", XMLType.XSD_STRING, ParameterMode.IN);<br /> call.addParameter("Subject", XMLType.XSD_STRING, ParameterMode.IN);<br /> call.setTargetEndpointAddress(new URL(<br /> "<span style="background-color: #ffcc00">http://192.168.168.180/ss/Service.asmx</span>")); <br /> result = (String) call.invoke(new Object[] { TeacherName, Subject}); <br /> <br /> }catch(Exception e){<br /> e.printStackTrace();<br /> }<br /> <br /> return result;<br /> }<br /> public static void main(String args[]){<br /> System.out.println(UserWebService.GetTestQuestions("aaa", "HOMA060E"));<br /><br /> }</p> 最后修改:2009 年 08 月 16 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 支持就是力量