java调用net webservice

java调用net webservice

ID:11749409

大小:31.50 KB

页数:3页

时间:2018-07-13

上传者:U-3269
java调用net webservice_第1页
java调用net webservice_第2页
java调用net webservice_第3页
资源描述:

《java调用net webservice》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

java调用.netwebservice前几日研究Java调用DotNetWebService,找了好多资料竟然没有好用的.将2日的艰辛拿出来分享,希望对朋友们有帮助。 .Net开发环境:VSDotNet2005Java开发环境:Eclipse3.1+JDK1.6+Axis1.4+mail.jar+activation.jar第一部分服务器端.NetWebService开发 文件-〉新建-〉网站,选择Asp.netWeb服务,建立WebService服务usingSystem;usingSystem.Web;usingSystem.Web.Services;usingSystem.Web.Services.Protocols; [WebService(Namespace="http://www.my.com/Rpc")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]publicclassService:System.Web.Services.WebService{   publicService(){        //如果使用设计的组件,请取消注释以下行       //InitializeComponent();   }    [WebMethod]   publicstringHelloWorld(stringname){       return"HelloWorld"+name;   }   }注意:[WebService(Namespace="http://www.my.com/Rpc")]http://www.my.com/Rpc根据您的需要自己定义,要写清楚,Java调用时会使用。 第二部分客户端Java调用.NetWebService 通过Eclipse新建一个JavaProject。Project->Properties下的JavaBuildPath引入Axis1.4Lib中Jar文件以及mail.jar,activation.jar(如果你本机没有这两个jar就到网上下载一下)。  importorg.apache.axis.client.Call;importorg.apache.axis.client.Service;importjavax.xml.namespace.QName;importjava.lang.Integer;   publicclassAxisTest{    publicstaticvoidmain(String[]args){   try{      Stringvarname="haha";      Stringendpoint="http://localhost/WebServiceTest/Service.asmx";      Serviceservice=newService();      Callcall=(Call)service.createCall();      call.setTargetEndpointAddress(newjava.net.URL(endpoint));      call.setOperationName(newQName("http://www.my.com/Rpc","HelloWorld"));      call.addParameter(newQName("http://www.my.com/Rpc","name"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);         call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);            call.setUseSOAPAction(true);      call.setSOAPActionURI("http://www.my.com/Rpc/HelloWorld");            Stringoutput=(String)call.invoke(newObject[]{varname});      System.out.println("resultis"+output.toString()+".");      }      catch(Exceptione){System.err.println(e.toString());}      }  }Run(Ctrl+F11),大功告成。 开发过程中遇到的困难:1,    call.setSOAPActionURI("http://www.my.com/Rpc/HelloWorld")写法。HelloWorld是DotNet2005开发的WebService的调用接口。如果不写清楚,总是返回未知的SoapAction头错误。通过网上的资料你也找不到原因。2,    call.addParameter(newQName("http://www.my.com/Rpc","name"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN)中name的写法。Name是DotNet2005开发的WebService接口中的输入参数名。有好多朋友都问为什么接口调用成功了,参数却不起作用。就是因为这的写法有问题。3,感觉用Java开发的最大困难就是资料太多,由于各种包的版本不同,调用的方法也有差异。很难快速找到问题的原因,更多的时候要靠感觉去猜测。即使找到问题,也没时间去仔细研究问题的产生原因。我想这就是我们在享受开源项目所应当承受的无奈,不过这个理由也许有些牵强了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭