手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

C#调用java写的Webservice

时间:2024-10-12 15:11:59

1、webservice 调用帮助方法基于 xml+http /// <summary> /// We芟鲠阻缒bService调用帮助类(基于xml+http请求) /// add: jzliu /// date: 2018-03-13 /// </summary> public class WebServiceHelper { public static T PostWebService<T>(string uri, string requestSoapXml) { try { //请求的soapxml字节序列 byte[] bytData = Encoding.UTF8.GetBytes(requestSoapXml); //创建一个HttpWebRequest实例 HttpWebRequest request = System.Net.WebRequest.Create(new Uri(uri)) as HttpWebRequest; //设置代理(如果需要代理访问) string proxyIP = WebConfigCommon.ProxyHostIP; string proxyPort = WebConfigCommon.ProxyHostPort; //如果配置了代理ip则使用代理ip否则不使用 if (!string.IsNullOrEmpty(proxyIP) && !string.IsNullOrEmpty(proxyPort)) { WebProxy proxy = new WebProxy(proxyIP, Convert.ToInt32(proxyPort)); request.Proxy = proxy; } //按照SOAP结构中描述的给各个属性赋值 request.Method = "POST";//POST方式传输 request.ContentType = "text/xml; charset=utf-8";//传输内容类型及编码格式 request.ContentLength = bytData.Length;//传输内容长度 //默认身份认证 request.Credentials = CredentialCache.DefaultCredentials; //设置超时时间为10分钟 request.Timeout = 600000; //用GetRequestStream()方法来获取一个流,它发出的请求将数据发送到Internet资源供给接口 Stream newStream = request.GetRequestStream(); //将数据写入该流 newStream.Write(bytData, 0, bytData.Length); //获取一个响应 HttpWebResponse res = (HttpWebResponse)request.GetResponse(); //将响应写入StreamReader StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8); //读取流转换成字符串 string ret = sr.ReadToEnd(); string retttt = ret.ToString(); //释放相关非托管资源 sr.Close(); res.Close(); newStream.Close(); ret = WebServiceResponseSoapHelper.GetResponseResultStrings(ret); return XmlHelper.Deserialize<T>(ret); } catch (Exception ex)//抛出异常由顶层调用接收并处理 { throw ex; } } }

2、webservice 调用帮助方法_方法参数之_requestSoapXml string requestSoapXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + "<soap:Body>" + "<HelloWorld xmlns=\"http://tempuri.org/\">" + "<inputname>" + "你好世界" + "</inputname>" + "</HelloWorld>" + "</soap:Body>" + "</soap:Envelope>";

3、webservice 调用帮助方法_方法参数之uri服务即wsdl地址

© 手抄报圈