初识webservice

原创 2016年06月01日 10:28:50
webservice是一个可在不同语言之间传递数据的web应用程序,它可基于xml标准约定双方通信协议数据,以下介绍的webservice通信方式是soap【简单对象访问协议Simple Object Access Protocol】,采用的xml标准是wsdl协议【即生成wsdl格式文件】,它会将用户提供的接口【包括接口参数列表,返回类型,接口名称,xml namespace,soap namespace等,最下面有我复制的wsdl文件内容例子】
跨语言性:php本身自带的soap模块【需要将php.ini配置文件中的extension=php_soap.dll前面的分号去掉,在这里分号为注释符号】可实现对基于soap的webservice接口进行访问获取数据,如的C#代码生成的webservice也可使用php代码调用:
$soap = new SoapClient('http://localhost:2657/WebService.asmx?wsdl');
$result = $soap->__call('HelloWorld',array());
var_dump($result);
打印结果为:
<span style="font-family: Arial, Helvetica, sans-serif;">object(stdClass)#2 (1) { ["HelloWorldResult"]=> string(11) "Hello World" }</span>


请求的接口代码1【C#】

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace testForWebService
{
    /// <summary>
    /// WebService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}


生成wsdl文件内容

<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="HelloWorld">
<s:complexType/>
</s:element>
<s:element name="HelloWorldResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="HelloWorldSoapIn">
<wsdl:part name="parameters" element="tns:HelloWorld"/>
</wsdl:message>
<wsdl:message name="HelloWorldSoapOut">
<wsdl:part name="parameters" element="tns:HelloWorldResponse"/>
</wsdl:message>
<wsdl:portType name="WebServiceSoap">
<wsdl:operation name="HelloWorld">
<wsdl:input message="tns:HelloWorldSoapIn"/>
<wsdl:output message="tns:HelloWorldSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WebServiceSoap" type="tns:WebServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="HelloWorld">
<soap:operation soapAction="http://tempuri.org/HelloWorld" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="WebServiceSoap12" type="tns:WebServiceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="HelloWorld">
<soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WebService">
<wsdl:port name="WebServiceSoap" binding="tns:WebServiceSoap">
<soap:address location="http://localhost:2657/WebService.asmx"/>
</wsdl:port>
<wsdl:port name="WebServiceSoap12" binding="tns:WebServiceSoap12">
<soap12:address location="http://localhost:2657/WebService.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

每日一记-初识WebService

#WebService是什么?   1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)   2. 一个跨语言、跨平台的规范(抽象)   3. 多个跨平台、跨语言的应用间通信...
  • santta
  • santta
  • 2016年07月30日 16:42
  • 126

WebService初识

Webservice是一个web服务体系,它为其他应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式来访问webservice。    webservice三种最普遍的实现方式是:...

WebService学习系列(一)------初识WbeService

一、一张图解说WebService        通俗的说,按一定的XML格式,调用远程服务器的方法,并且服务器按一定的格式返回XML格式。     “一定的格式”?,不免大家产生了疑惑, ...

初识Webservice

领导让研究研究WebService,最近多看了几眼,写点东西方便以后查看。 What is Webservice? 其实webservice我们在日常生活中现在是经常的用的。只是我们没有去在意和关...

webservice初识

看来最经app很火,好多同事都要么转向android开发,要么做android接口开发。而我就现在做web service 开发。做web service 之前只是听过这个名词而已,但并不知道它是做什...

初识WebService

一、什么是WebService?

WebService笔记(第一弹:初识WebService)

WebServiceWebService是一种跨编程语言和跨操作系统平台的远程调用技术。通过 SOAP 在 Web 上提供软件服务,使用 WSDL 文件进行说明,通过 UDDI 进行注册。 WebS...

初识MyBatis

  • 2017年06月30日 15:44
  • 572KB
  • 下载

初识java笔记

  • 2015年08月09日 12:58
  • 715KB
  • 下载

自定义控件——初识自定义控件

本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。开发的时候,因为业务需求或者封装需要,我们会进行自定义控件。 说在前面,本篇涉及到一些东西 * onMeasure * onLa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初识webservice
举报原因:
原因补充:

(最多只允许输入30个字)