关于WebServices的调用
1.使用soapui测试接口是否能通 具体操作步骤请查看:https://www.cnblogs.com/BINDAI/p/13201513.html
Soapui请求结果集

2.获得soapui的地址栏的接口访问地址

地址栏获得的接口地址
如http://192.168.1.103/wstopprd/ws/r/awsp900?Wsdl
访问接口地址为http://192.168.1.103/wstopprd/ws/r/awsp900
3.获得头部的SOAPAction
查看方法:


下面附上请求代码:
string URL = "http://192.168.1.103/wstopprd/ws/r/awsp900";
//创建请求
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
//创建头部信息
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";
//具体请求查看soapui中的头部信息
request.Headers.Add("SOAPAction", "");这个为必填
//具体报文格式询问创建接口的开发
StringBuilder sb = new StringBuilder();
sb.Append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tip=\"http://www.digiwin.com.cn/tiptop/TIPTOPServiceGateWay\">");
sb.Append("<soapenv:Header/>");
sb.Append("<soapenv:Body>");
sb.Append("<tip:invokeSrv>");
sb.Append("<request>");
sb.Append("<request type=\"sync\" key=\"76CFB4D975B57C166A5F93C79E19D933\">");
sb.Append(" <host prod=\"CMS\" ver=\"1.0\" ip=\"192.168.1.103\" lang=\"zh_CN\" timezone=\"8\" timestamp=\"20200509085642517\" acct=\"tiptop\" />");
sb.Append("<service prod=\"T100\" name=\"cms.return1\" srvver=\"1.0\" id=\"00000\" />");
sb.Append("<datakey type=\"FOM\">");
sb.Append("<key name=\"EntId\">88</key>");
sb.Append("<key name=\"CompanyId\">WDK</key>");
sb.Append("</datakey>");
sb.Append("<payload>");
sb.Append(" <param key=\"data\" type=\"XML\">");
sb.Append("<![CDATA[ ");
sb.Append(" <Request>");
sb.Append(" <RequestContent> ");
sb.Append("<Parameter/>");
sb.Append(" <Document>");
sb.Append(" <RecordSet id=\"1\">");
if (model.D_PO_NO!=null&&model.D_PO_NO!="")
{
sb.Append("<Master name=\"l_xmdc\" node_id=\"1\"> ");
sb.Append(" <Record> ");
sb.Append(" <Field name=\"xmda033\" value=\"" + model.D_PO_NO + "\"/> ");
sb.Append("<Field name=\"xmdcseq\" value=\"\"/>");
sb.Append("</Record> ");
sb.Append(" </Master> ");
}
sb.Append(" </RecordSet>");
sb.Append("</Document> ");
sb.Append(" </RequestContent> ");
sb.Append(" </Request>]]>");
sb.Append("</param>");
sb.Append("</payload>");
sb.Append("</request>");
sb.Append(" </request>");
sb.Append(" </tip:invokeSrv>");
sb.Append(" </soapenv:Body>");
sb.Append(" </soapenv:Envelope>");
//Sb为请求报文
//转为字节数组
byte[] data = System.Text.Encoding.ASCII.GetBytes(sb.ToString());
//获得字节长度
request.ContentLength = data.Length; //开始请求
Stream writer = request.GetRequestStream();
writer.Write(data, , data.Length);
writer.Close();
// 回执信息
//using (var response = request.GetResponse())
using (WebResponse response = request.GetResponse()){ XmlDocument doc = new XmlDocument();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
//读取回执信息
string retXml = sr.ReadToEnd();
sr.Close();
//解析XML找到对应节点
doc.LoadXml(retXml);
var xmlStr = doc.SelectSingleNode("//response").ChildNodes[].InnerText;
关于WebServices的调用的更多相关文章
- axis WebServices 完美调用天气预报,查询、显示 代码!
axis WebServices 完美调用天气预报,查询.显示 代码! 效果: jsp页面: <%@ page language="java" import="ja ...
- C# 创建WebServices及调用方法
发布WebServices 1.创建 ASP.NET Web 服务应用程序 SayHelloWebServices 这里需要说明一下,由于.NET Framework4.0取消了WebService ...
- Java与.NET的WebServices相互调用
一:简介 本文介绍了Java与.NET开发的Web Services相互调用的技术.本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用 ...
- Android通过ksoap2这个框架调用webservice大讲堂
昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有 ...
- webservice中将dataset 压缩
http://blog.csdn.net/bodaowang/article/details/6889446 在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的data ...
- 黑马毕向东Java基础知识总结
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记 侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...
- 《果壳中的C# C# 5.0 权威指南》 - 学习笔记
<果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari ...
- c# 动态调用.net编写的webservices接口
创建类WebServiceHelper: public class WebServiceHelper { #region 动态调用WebService动态调用地址 /// < summary&g ...
- jquery Ajax跨域调用WebServices方法
由于公司需要开发一个手机页面,想提供给同事直接在手机上可以查询SAP资料.数据需要使用js调用webserver来获取. 因为初次使用Jquery调用Webserver,所以期间并不顺利.测试调用We ...
随机推荐
- Java实现 谁不爱打牌
谁不爱打牌 [问题描述] BobLee最近在复习考研,但是他也喜欢打牌(有谁不爱玩牌呢?).但是作为一名ACMER,斗地主显然满足不了他的兴趣, 于是他和YYD一起YY出来了一个游戏规则,规则如下. ...
- java实现SPFA算法
1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其 ...
- java实现黄金队列
** 黄金队列** 黄金分割数0.618与美学有重要的关系.舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子 ...
- Python接口自动化测试脚本-实现禅道登录
未来应用方向:UI自动化测试或接口自动化测试发现的Bug可自动录入禅道,带截图与相关报错信息. #!/usr/bin/env python # -*- coding: UTF-8 -*- '''=== ...
- 批量执行app自动化测试思路设计图
- 【 转】百度地图Canvas实现十万CAD数据秒级加载
Github上看到: https://github.com/lcosmos/map-canvas 这个实现台风轨迹,这个数据量非常庞大,当时打开时,看到这么多数据加载很快,感到有点震惊,然后自己研究了 ...
- SSM-maven 简单整合
记一次简单的整合了一次SSM框架过程,因为好久不用了在过程中发生了一些问题. 后续我会在继续在此基础上整合其他框架进来. 本次整合用到的框架有: spring & springmvc myba ...
- 小孩学习编程的绝佳游戏——CodeMonkey
CodeMonkey于2014年1月在以色列成立.它的愿景是建立一个全球性的学习平台,让孩子们通过游戏的方式学习.发现.创造和分享,同时在此过程中获得编程这一项21世纪必备的技能. 通常提到CodeM ...
- Java——String类(常用类)
一.String类——描述字符串 常用的方法简单介绍: 1.charAt() 获取对应位置的字符 2.length() 获取字符串的长度 3.concat() 在字符串的尾部追加内容-----相当于连 ...
- 3 年经验的 Java 后端妹子,横扫阿里、滴滴、美团,整理出这份厚厚的 8000 字面经!
自序 这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金 ...