WebService1.asmx.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Services;
  6. using System.Web.Services.Protocols;
  7. using System.Net;
  8. using System.Text;
  9. using System.IO;
  10. namespace WebApplication1
  11. {
  12. /// <summary>
  13. /// WebService1 的摘要说明
  14. /// </summary>
  15. [WebService(Namespace = "http://tempuri.org/")]
  16. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  17. [System.ComponentModel.ToolboxItem(false)]
  18. // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
  19. // [System.Web.Script.Services.ScriptService]
  20. public class WebService1 : System.Web.Services.WebService
  21. {
  22. [WebMethod]
  23. public string HelloWorld()
  24. {
  25. //创建HttpWebRequest 实例,使用WebRequest.Create
  26. HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://192.168.39.115:8088/userService");
  27. //发送请求
  28. webRequest.Method = "POST";
  29. //编码
  30. webRequest.ContentType = "text/xml";
  31. string soap = "";
  32. soap = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  33. <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Header><userService soapenv:actor=\"http://www.w3.org/2003/05/soap-envelope/role/next\">admin&amp;098f6bcd4621d373cade4e832627b4f6</userService>
  34. </soapenv:Header><soapenv:Body><queryByName xmlns=\"http://webService.yjpt.com/\"><arg0 xmlns=\"\">admin</arg0></queryByName></soapenv:Body></soapenv:Envelope>";
  35. //字符转字节
  36. byte[] bytes = Encoding.UTF8.GetBytes(soap);
  37. Stream writer = webRequest.GetRequestStream();
  38. writer.Write(bytes, 0, bytes.Length);
  39. writer.Flush();
  40. writer.Close();
  41. string result = "";
  42. //返回 HttpWebResponse
  43. try
  44. {
  45. HttpWebResponse hwRes = webRequest.GetResponse() as HttpWebResponse;
  46. if (hwRes.StatusCode == System.Net.HttpStatusCode.OK)
  47. {//是否返回成功
  48. Stream rStream = hwRes.GetResponseStream();
  49. //流读取
  50. StreamReader sr = new StreamReader(rStream, Encoding.UTF8);
  51. result = sr.ReadToEnd();
  52. sr.Close();
  53. rStream.Close();
  54. }
  55. else
  56. {
  57. result = "连接错误";
  58. }
  59. //关闭
  60. hwRes.Close();
  61. }
  62. catch (System.Net.WebException ex)
  63. {
  64. String responseFromServer = ex.Message.ToString() + " ";
  65. if (ex.Response != null)
  66. {
  67. using (WebResponse response = ex.Response)
  68. {
  69. Stream data = response.GetResponseStream();
  70. using (StreamReader reader = new StreamReader(data))
  71. {
  72. responseFromServer += reader.ReadToEnd();
  73. }
  74. }
  75. }
  76. return responseFromServer;
  77. }
  78. return "Hello World";
  79. }
  80. }
  81. }