webservice服务器,webservice服务器端怎么发布

http://www.itjxue.com  2023-01-07 13:03  来源:未知  点击次数: 

什么是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,并访问相应的服务。

(责任编辑:IT教学网)

更多

推荐网络工程师文章