如何通过Web服务示例请求和响应数据 [英] How to request and response data through web service example
问题描述
Hiii朋友我想在asp.net中创建一个web服务,请求和响应xml数据。
如果有任何机构可以给我一个请求以及响应xml数据的示例代码,请给我。我想尽快完成我的mca最后一个学期项目。
这是我写的服务的通用代码示例。它使用SOAP来联系服务,服务返回XML。
我使用存储过程来处理传递给服务的数据,以便可以使用它出于多种目的。
ISercie.cs
使用System;
使用System.Collections.Generic;
使用System.Linq;
使用System.Runtime.Serialization;使用System.ServiceModel
;
使用System.ServiceModel.Web;
使用System.Text;
使用System.Data;
命名空间MyFirstService
{
[ServiceContract]
公共接口IService1
{
[OperationContract]
DataTable MyService(string storedProcedure,string data) ;
}
}
Service1.svc.cs
<$ p $使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Runtime.Serialization;使用System.ServiceModel
;
使用System.ServiceModel.Web;
使用System.Text;
使用System.Data.SqlClient;
使用System.Configuration;
使用System.Data;
使用System.Xml.Serialization;
使用System.IO;
命名空间MyFirstService
{
//注意:您可以使用重构菜单上的重命名命令将代码,svc和配置文件中的类名Service1一起更改。
public class Service1:IService1
{
public DataTable MyService(string storedProcedure,string data)
{
string connString = ConfigurationManager.ConnectionStrings [MyServiceConnString]。ConnectionString ;
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(storedProcedure,conn);
SqlDataReader reader = null;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue(@ data,data);
尝试
{
conn.Open();
reader = cmd.ExecuteReader();
//使用SqlDataReader加载数据表
DataTable dataTable = new DataTable();
dataTable.TableName =ReturnData;
dataTable.Load(读者);
//将数据表转换为xml
StringWriter xmlWriter = new StringWriter();
dataTable.WriteXml(xmlWriter,XmlWriteMode.IgnoreSchema,false);
conn.Close();
返回dataTable;
}
catch(例外)
{
throw;
}
}
}
}
带有SOAP调用的VB脚本
Dim soapServer,soapMessage,data
For x = 1 To Request.Form.Count()
fieldName = Request.Form.Key (x)
fieldValue = Request.Form.Item(x)
如果fieldName<> 提交和fieldName<> 密码然后
data = data& fieldName& 〜&替换(替换(替换(fieldValue,〜,),|,),&,和)& |
结束如果
下一个
'服务地点 - 生产
soapServer =http://locationofyourservice/MyFirstService/Service1.svc
'消息包括肥皂信封包装,发送到服务
soapMessage =< s:Envelope xmlns:s =& Chr(34)& http://schemas.xmlsoap.org/soap/envelope/& Chr(34)& > 中&安培; _
< s:Body> &安培; _
< MyService xmlns =& Chr(34)& http://tempuri.org/& Chr(34)& > 中&安培; _
< storedProcedure> &安培; storedProcedure& < / StoredProcedure的> 中&安培; _
< data> &安培;数据和< /数据> 中&安培; _
< / MyService> &安培; _
< / s:Body> &安培; _
< / s:Envelope>
设置xmlhttp = CreateObject(MSXML2.ServerXMLHTTP)
xmlhttp.openPOST,soapServer,False
xmlhttp.setRequestHeaderMan,POST& amp ; & soapServer& HTTP / 1.1
xmlhttp.setRequestHeaderSOAPAction,http://tempuri.org/IService1/MyService
xmlhttp.setRequestHeaderContent-Type,text / xml ; charset = utf-8
'调用服务'
xmlhttp.send(soapMessage)
Response.Write xmlhttp.responseText
Hiii friends i want to create a web service in asp.net which request and response in xml data.
If any body can give me a sample code which request as well as response the xml data please give me.I want to complete my mca final semester project as soon as.
Here is a generic code sample of a service I wrote. It uses SOAP to contact the service and the service returns XML.
I use a stored procedure to handle the data that is passed to the service so that it can be used for multiple purposes.
ISercie.cs
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; using System.Data; namespace MyFirstService { [ServiceContract] public interface IService1 { [OperationContract] DataTable MyService(string storedProcedure, string data); } }
Service1.svc.cs
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; using System.Data.SqlClient; using System.Configuration; using System.Data; using System.Xml.Serialization; using System.IO; namespace MyFirstService { // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together. public class Service1 : IService1 { public DataTable MyService(string storedProcedure, string data) { string connString = ConfigurationManager.ConnectionStrings["MyServiceConnString"].ConnectionString; SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand(storedProcedure, conn); SqlDataReader reader = null; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@data", data); try { conn.Open(); reader = cmd.ExecuteReader(); //load the datatable with the SqlDataReader DataTable dataTable = new DataTable(); dataTable.TableName = "ReturnData"; dataTable.Load(reader); //convert the datatable to xml StringWriter xmlWriter = new StringWriter(); dataTable.WriteXml(xmlWriter, XmlWriteMode.IgnoreSchema, false); conn.Close(); return dataTable; } catch (Exception) { throw; } } } }
VB Script with the SOAP call
Dim soapServer, soapMessage, data For x = 1 To Request.Form.Count() fieldName = Request.Form.Key(x) fieldValue = Request.Form.Item(x) If fieldName <> "Submit" And fieldName <> "Password" Then data = data & fieldName & "~" & Replace(Replace(Replace(fieldValue, "~", ""), "|", ""), "&", "and") & "|" End If Next 'service location - Production soapServer = "http://locationofyourservice/MyFirstService/Service1.svc" 'message including soap envelope wrapper, to send to the service soapMessage = "<s:Envelope xmlns:s=" & Chr(34) & "http://schemas.xmlsoap.org/soap/envelope/" & Chr(34) & ">" & _ "<s:Body>" & _ "<MyService xmlns=" & Chr(34) & "http://tempuri.org/" & Chr(34) & ">" & _ "<storedProcedure>" & storedProcedure & "</storedProcedure>" & _ "<data>" & data & "</data>" & _ "</MyService>" & _ "</s:Body>" & _ "</s:Envelope>" Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.open "POST", soapServer, False xmlhttp.setRequestHeader "Man", POST & " " & soapServer & " HTTP/1.1" xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/IService1/MyService" xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 'Calling the service' xmlhttp.send(soapMessage) Response.Write xmlhttp.responseText
这篇关于如何通过Web服务示例请求和响应数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!