使用C#创建webservice及调用方式?

使用C#创建webservice及调用方式?,第1张

1、创建Webservice服务,需要在VS中首先创建一个Web工程,再添加一个Webservice类即可,。

2、编写Webservice的方法,以下芹让族以VS默认的HelloWord为例。

另外在实际使用中,出现过部署到滑数ESB后不识别的情况,后经测试发现需要增加以下内容:

3、在Webservice类上点击右键-在浏览器中查看,可以查看webservice服务,在原URL地址后增加?wsdl可以查看wsdl文件。

4、对于解决嫌弊方案内的webservice服务,或者网络中的webservice服务,可以通过URL地址的方式添加引用。在工程上点击右键-添加服务引用-高级-添加Web服务,输入URL地址即可。

5、对于异构系统提供的接口地址,或者内网环境,本地无法访问的情况,可以通过引用wsdl文件的方式,wsdl文件可以在接口地址后加?wsdl或者有异构系统提供。步骤和以上相同,只是最后的URL地址改为本地路径即可。

客户端调用WebService的方式

通过wsimport生成塌烂客户端代码

通过客户端编程的方式调用

通过团运漏ajax调用 (js+XML)

通过URLConnection调用

2.2.1 通过wsimport生成客户端代码

参见2.1

2.2.2 通过客户端编程的方式调用

(1),使用javax.xml.ws.Service类用于访问web服务

(2),关键类Service

方法create – 用户创建Service对像,提供wsdlurl和服务名。

getPort-用于通过指定namespace,portName和接口的范型。

在客户端需要一个与服务器接口完全相同的类。(仍然使用工具生成。但只需要一个接口。并需要简单修改。如果返回的是复杂数据类型如POJO,还需要将POJO一并放到项目中)。

App.class文件:

Service s =

Service.create(new URL(“http://192.168.1.108:5678/hello?wsdl”),

new QName(targetNamespace,serviceName)

)

HelloService hs = s.getPort(portName,serviceEndpointInterface)

(注意:这里portName=new QName(targetNamespace,portName))

String str = hs.sayHello(“Lisi”,10)

System.out.println(str) //打印hello Lisi

说明 :关键类QName – 被称为完全限定名即悄坦:Qualified Name的缩写。

QName 的值包含名称空间 URI、本地部分和前缀。

客户端编程的方式不常用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12370112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存