当前位置: 首页 > news >正文

印刷 技术支持 东莞网站建设福州建网站的公司

印刷 技术支持 东莞网站建设,福州建网站的公司,网站创建服务公司,网站建设公司douyanet最近做项目#xff0c;涉及到web-service调用#xff0c;现学了一个星期#xff0c;现简单的做一个小结。下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?wsdl)的订单跟踪#xff08;web-service调用#xff09;功能。 一#xff0e; 使用axis…最近做项目涉及到web-service调用现学了一个星期现简单的做一个小结。下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?wsdl)的订单跟踪web-service调用功能。 一 使用axis1.x调用webservice方法 Axis的最常用版本1.4和2.0版本。以下为1.4版本  核心代码   // webserviceURL       service_url http://vip.cxcod.com/PodApi/GetPodStr.asmx?wsdl;       Service service new Service();       Call call (Call) service.createCall();       call.setTargetEndpointAddress(new java.net.URL(service_url)); // 设置要调用的方法 // http://intelink.net/是wsdl中definitions根节点的targetNamespace属性值 call.setOperationName(new QName(http://intelink.net/,GetStrByJobno)); // 该方法需要的参数 call.addParameter(CustNo,   org.apache.axis.encoding.XMLType.XSD_STRING,   javax.xml.rpc.ParameterMode.IN); call.addParameter(passwd,    org.apache.axis.encoding.XMLType.XSD_STRING,    javax.xml.rpc.ParameterMode.IN); call.addParameter(Jobno,    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://intelink.net/GetStrByJobno); // 调用该方法, new Object[] { CustNo, passwd, Jobno}为参数列表 String xmlStr call.invoke(new Object[] { CustNo, passwd, Jobno}).toString(); } catch (Exception e) { e.printStackTrace(); } JAVA用这种方式调用webservice,需要注意的地方 1. 服务器未能识别 HTTP 标头 SOAPAction 的值 症状一 Web Service ASP.NET 应用程序部署到服务器默认目录中在IE中用http://服务器地址/程序目录名/默认启动页面名发生“服务器未能识别 HTTP 标头 SOAPAction 的值”错误。 症状二 在Java平台上调用.NET Web Service的服务时出现服务器未能识别 HTTP 标头 SOAPAction 的值。 症状三 在Java平台下调用.NET WEB Service出现数据时有时无。 解决对策 给.NET的WebService类即.asmx文件下的类添加属性[SoapDocumentService(RoutingStyleSoapServiceRoutingStyle.RequestElement)] 小知识 什么是SoapAction它在WSDL中有何作用 SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析那么在这种情况下发送一个HTTP SOAP请求时其HTTP客户端必须使用/指明SOAPAction HTTP request header。 SOAPAction header的内容可以被用在服务端诸如防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串()表示SOAP消息的目的地由HTTP请求的URI标识无值则表示没有指定这条消息的目的地。 本人补充 在.NET环境调用.NET WebService出现 “SOAPAction 值在 XML Web services 的所有方法中不唯一的错误”也可以通过此法解决。 2. 为了Java能够调用WebService的方法所以。NETP写的WebServiced的每个方法都要声明为Rpc方法即添加[SoapRpcMethod.....]. 例如[WebMethod]         [SoapRpcMethod(UseSoapBindingUse.Literal,Action http://tempuri.org/HelloWorld, RequestNamespace http://tempuri.org/, ResponseNamespace http://tempuri.org/)] 3. 对返回值、参数的处理上 应尽量将webservice方法的返回值、参数都写成字符串String不要使用复杂对象类型,这样便于在网络上传输。避免了复杂对象类型的不易转换问题。。。对于返回类型是字符串数组型的可以设置返回类型为org.apache.axis.encoding.XMLType.SOAP_VECTOR或java.lang.String[].class. 二利用xfire调用WebService XFire是新一代的Java Web服务引擎XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比XFire的配置非常简单可以非常容易地和Spring集成它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。 核心代码 Service service new ObjectServiceFactory().create(IWebservice.class); XFireProxyFactory factory new XFireProxyFactory(XFireFactory.newInstance().getXFire()); String url http://localhost:8080/webservices/services/webservices; IWebservice iw (IWebservice) factory.create(service, url); List listiw.getTest(); 出处http://liyuandong.iteye.com/blog/567836
http://wiki.neutronadmin.com/news/47890/

相关文章:

  • 做直播网站找哪个网站做视频网站视频的软件
  • 网站建设是前端吗网站建设公司成都
  • 浙江市建设网站找人做公司网站
  • 婴儿衣服做的网站好网站开发和运行 法律
  • 建设网站教程视频视频老板网人才招聘
  • 做网站的公司哪家好如何用域名访问网址
  • 淘宝客网站备案信息六安商务网站建设电话
  • 中国城乡住房建设厅网站wordpress生成tags页面
  • 成都个人网站984网站建设项目
  • 专门做衣服的网站uniapp开源商城源码
  • 中建西部建设西南有限公司网站nas服务器可以做网站吗
  • 手机网站 图片自适应目前做系统比较好的网站
  • 图片网站怎么做排名昆明网站建设织梦
  • 企业建网站的步骤iis网站权限
  • 常平做网站费用
  • 教育培训机构招生网站建设三线建设网站
  • 网站建设get你推广淘特一个新人多少钱
  • 扬州建设教育信息网站微信app下载最新版本
  • 网站建设的技术亮点汉阳做网站
  • 浦东新区专业网站建设小程序推广赚佣金平台
  • 定制网站开发多少钱织梦网站内部优化
  • 网站建设维护方案最新手机发布会
  • 论坛网站免费建设模板下载安装大数据培训班出来能就业吗
  • 网站没有备案用什么cdnwordpress添加爬虫数据
  • 仟亿家设计软件好吗亿家搜索排名优化网站排名优化
  • 网站开发工具的免费企业建站开源系统
  • 电子 网站模板网络营销讲师培训
  • 怀化 网站建设申请网站建设经费的报告
  • 网站链接做投票wordpress 电影站主题
  • 郴州企业网站建设制作中国企业网中国商报