webservice服务器,webservice服务器端怎么发布
什么是WebService?
WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。\x0d\x0aWebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。\x0d\x0aWebService=WSDL+SOAP+UDDI(webservice的注册)\x0d\x0aSoap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。\x0d\x0aWeb Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。\x0d\x0aWeb Service的优点\x0d\x0a(1) 可以让异构的程序相互访问(跨平台)(2) 松耦合\x0d\x0a(3) 基于标准协议(通用语言,允许其他程序访问)\x0d\x0aWeb Service的基本原理\x0d\x0a(1) Service Provider采用WSDL描述服务\x0d\x0a(2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)\x0d\x0a(3) Service Requestor在UDDI服务器上查询并 获取WSDL文件\x0d\x0a(4) Service requestor将请求绑定到SOAP,并访问相应的服务。
在C#中如何判断是否连接上webservice服务器
用sa登录数据库,假设数据库为MyDBstring?strcon="Data?Source=(local);Initial?Catalog=MyDB;Persist?Security?Info=True;User?ID=sa;Password=123";SqlConnection?conn?=?new?SqlConnection(strcon);conn.Open();
如何把webservice发布到服务器上
1、在Java项目中发布一个WebService服务,与Web服务相关的类,都位于Javax.jws.*包中。
@WebService 此注解用在类上指定将此类发布成一个WebService;
EndPoint 此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布。
2、发布WebService服务,HelloWebService.java文件代码如下:
span style="font-family:KaiTi_GB2312;font-size:18px;"package cn.tgb.ws;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
* @WebService - 它是一个注解,用在类上指定将此类发布成一个ws.
Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。
* @author xuemin
*
*/
@WebService
public classHelloWebService {
publicString HelloWord(String name){
return"Hello: "+name;
}
/**
*添加exclude=true后,HelloWord2()方法不会被发布
* @param name
* @return
*/
@WebMethod(exclude=true)
publicString HelloWord2(String name){
return"Hello: "+name;
}
publicstatic void main(String[] args) {
/**
*参数1:服务的发布地址
*参数2:服务的实现者
*/
Endpoint.publish("服务发布地址",new HelloWebService());
}
}
/span
注:@WebService 它是一个注解,用在类上指定将此类发布成一个ws,Endpoint 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。运行以上程序即可进行WebService发布。
webservice,服务器端获取数据,并转化为xml格式,供客户端调用
HttpContext.Current.Request.InputStream 就可以读出Xml内容。
// 创建一个DataTable
DataTable data = new DataTable("Project");
data.Columns.Add("Name");
data.Columns.Add("Birthday");
data.Rows.Add(new object[] { "Wendy", "1978/03/11" });
data.Rows.Add(new object[] { "Philip", "2000/11/05" });
data.Rows.Add(new object[] { "Felix", "1999/08/04" });
using (var ms = new MemoryStream())
{
// 将DataTable用Xml格式写入流
data.WriteXml(ms, XmlWriteMode.WriteSchema);
var client = new WebClient();
// 定义HttpRequest的Content-Type(xml,json等)
client.Headers.Add("Content-Type", "text/xml");
var url = ";
// Send HttpRequest
var resp = client.UploadData(url, "POST", ms.ToArray());
var strResp = System.Text.Encoding.UTF8.GetString(resp);
MessageBox.Show(strResp);
}
服务端:
[c-sharp] view plaincopy
[WebMethod]
public void SendXml()
{
// 获得客户端RAW HttpRequest
var inputStream = HttpContext.Current.Request.InputStream;
// 定义Response返回的格式是:Json
var response = HttpContext.Current.Response;
response.ContentType = "text/json";
//var strXml = "";
//using (var sr = new StreamReader(inputStream))
// strXml = sr.ReadToEnd();
try
{
DataTable data = new DataTable();
using (var xr = XmlReader.Create(inputStream))
data.ReadXml(xr);
// 将读入Xml的DataTable的行数返回客户端
string count = "/"" + data.Rows.Count + "/"";
response.BinaryWrite(System.Text.Encoding.UTF8.GetBytes(count));
}
catch (Exception ex)
{
response.BinaryWrite(System.Text.Encoding.UTF8.GetBytes(ex.Message));
}
}
ksoap2 webservice服务器怎么写
下面使用KSOAP2的步骤来编写调用WebService的客户端程序,代码如下:
1 //new 一个连接Webservice的类,这个类下面给出。webserviceUrl为//Webservice的连接地址,nameSpace为命名空间
2 private ConWebService conWebService = new ConWebService(
3 webserviceUrl ,nameSpace);
4
5 //给出一个中间层调用的方法,返还String数组
6 public ArrayListString getDate(String key)
7 {
8 ArrayListString arrayList = new ArrayListString();
9 //添加参数,这个参数可以是多个循环添加即可
10 //如
11 //PropertyInfo pro[] = new PropertyInfo[2];
12 //for (int i = 0; i 2; i++)
13 //{
14 //pro[i] = new PropertyInfo();
15 //}
16 //pro[0].setName("sqlName");
17 //pro[0].setValue(sqlName);
18 //pro[1].setName("date");
19 //pro[1].setValue(date);
20 PropertyInfo pro = new PropertyInfo();
21 pro.setName("key");
22 pro.setValue(key);
23 arrayList =conWebService.getSoapData("getData", pro);
24 return arrayList;
25 }
下面的这个ConWebservice类是主要实现获取数据的功能了。给出关键代码
1 public ArrayListString getSoapData(String methodName, PropertyInfo... pros)
2 {
3 ArrayListString resultList = new ArrayListString();
4
5 //1.创建SoapObject对象,并指定WebService的命名空间和调用的方法名
6 SoapObject soapObject = new SoapObject(NameSpace, methodName);
7
8 //2.设置SoapAction
9 soapAction = NameSpace + methodName;
10
11 //2.设置WebService方法的参数(以不定参数为例)
12 if (pros.length 0)
13 {
14 for (PropertyInfo pro : pros)
15 {
16 soapObject.addProperty(pro);
17 }
18 }
19 //创建SoapSerializationEnvelope对象,生成调用WebService方法的SOAP请求信息,并指定WebService Soap协议的版本
20 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER12 );
21
22
23 //设置bodyOut属性 (SoapEnvelope类中,设置发送的数据和接收数据,分别使用方法:bodyOut,bodyIn)
24 envelope.bodyOut = soapObject;
25
26 // 设置是否调用的是DotNet开发的WebService
27 envelope.dotNet = true;
28
29 //创建HttpTransportSE对象,并指定WSDL文档的URL
30 HttpTransportSE transport = new HttpTransportSE(WebserviceUrl);
31 try
32 {
33 transport.call(soapAction, envelope);
34 if (envelope.getResponse() != null)
35 {
36 // 获取服务器返回的SOAP消息————接收数据
37 SoapObject result = (SoapObject) envelope.bodyIn;
38
39 //getProperty这个方法相当取中间参数名为soapObject.getName() + "Result"的value,当然也可以按索引取值
40 SoapObject detail = (SoapObject) result.getProperty(soapObject.getName() + "Result");
41
42 // 解析服务器的SOAP消息
43 int count = detail.getPropertyCount();
44 for (int i = 0; i count; i++)
45 {
46 resultList.add(detail.getProperty(i).toString());
47 }
48
49 }50 }
基本上每行都有注释,就不多废话了。
当然,我这个Webservice传送过来的是一个String。当然,如果对不限XML复杂的话,也可以试试解析解析XML。
什么是WebService?为什么要使用WebService
webservice是一个soa(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过internet进行基于http协议的网络应用间的交互。
webservice实现不同语言间的调用,是依托于一个标准,webservice是需要遵守wsdl(web服务定义语言)/soap(简单请求协议)规范的。
webservice=wsdl+soap+uddi(webservice的注册)
soap是由soap的part和0个或多个附件组成,一般只有part,在part中有envelope和body。
web
service是通过提供标准的协议和接口,可以让不同的程序集成的一种soa架构。
web
service的优点
(1)
可以让异构的程序相互访问(跨平台)(2)
松耦合
(3)
基于标准协议(通用语言,允许其他程序访问)
web
service的基本原理
(1)
service
provider采用wsdl描述服务
(2)
service
provider
采用uddi将服务的描述文件发布到uddi服务器(register
server)
(3)
service
requestor在uddi服务器上查询并
获取wsdl文件
(4)
service
requestor将请求绑定到soap,并访问相应的服务。