`
shoukii0721
  • 浏览: 79599 次
社区版块
存档分类
最新评论

不使用wsdl文件的SOAP范例

    博客分类:
  • PHP
 
阅读更多
不使用wsdl文件的SOAP范例

一,范例一

1.服务器端
<?php
class service {
    
    public function HelloWorld(){
        return "Hello, World ! ";
    }
    
    public function Add($a,$b){
        return $a + $b;
    }
}

// 指定server端代码的URI(资源标志符)
$server=new SoapServer(null,array('uri' => "http://127.0.0.1/"));  
$server->setClass("service");

//SoapServer对象的handle方法用来处理用户输入并调用相应的函数,最后返回给客户端处理的结果。
//其中,$soap是一个SoapServer对象,$soap_request是一个可选参数,用来表示 用户的请求信息。
//如果不指定$soap_request,则表示服务器将接收用户的全部 请求。 
$server->handle();
?>


2.客户端
<?php
    try{
        $soap = new SoapClient(null,array(
            "location" => "http://localhost/TEST/interface/soapServer.php",  //注意: location指定的是server端代码在服务器中的具体位置
            "uri"      => "http://127.0.0.1/",  //资源描述符服务器和客户端必须对应
           ));
        
        
        echo $soap->HelloWorld() . "<br>";
        
        echo $soap->Add(1,2)  . "<br>";
        
    } catch (Exction $e){
        echo print_r($e->getMessage(),true);
    }
?>


二,范例二
1.服务器端
<?php

	//SoapServer用于创建php服务器端页面时定义可被调用的函数及返回响应数据。
	//其中,$wsdl为shoap使用得wsdl文件,wsdl是描述Web Service的一种标准格式,
	//若将$wsdl设置为null,则表示不使用wsdl模式。$array是 SoapServer的属性信息,是一个数组。
	$soap = new SoapServer(null,array('uri'=>"http://127.0.0.1/"));//输入本台服务器的ip地址
	$soap->addFunction('say');

	//SoapServer对象的addFunction方法是用来声明哪个函数可以被客户端调用,
	//其中,$soap是一个SoapServer对象,$function_name是需要被调用的函数名。
	$soap->addFunction(SOAP_FUNCTIONS_ALL);   //不要忘了这个

	//SoapServer对象的handle方法用来处理用户输入并调用相应的函数,最后返回给客户端处理的结果。
	//其中,$soap是一个SoapServer对象,$soap_request是一个可选参数,用来表示 用户的请求信息。
	//如果不指定$soap_request,则表示服务器将接收用户的全部 请求。 
	$soap->handle();

	function say($sth){
	   return "<font color='red'> $sth </font>" ;
	}
?>


2.客户端
<?php
try {
    
    // SoapClient用于调用远程服务器上的SoapServer页面,并实现了对相应函数的调用 。    
    $client = new SoapClient(null, array(
                 'location' =>"http://localhost/TEST/interface/soapServer.php",
                 'uri'=> "http://127.0.0.1/"
            ));
   
    echo $client->say("hello world");
   
} catch (SoapFault $fault){
    // SoapFault用于生成soap访问过程中可能出现的错误。
    // 其中,$faultcode是用户定义的错误代码,$faultstring是用户自定义的错误信息。
    // soapFault 对象会在服务器端页面出现错误时自动生成,或者通过用户自行创建SoapFault对象时生成。
    // 对于 Soap访问时出现的错误,客户端可通过捕捉SoapFalut对象来获得相应的错误信息。 
    // 在客户端捕获SoapFault对象后,可以通过下面的代码获得错误代码和错误信息。
    // $fault->faultcode;//错误代码 
    // $fault->faultstring;//错误信息 
    echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}
?>
分享到:
评论

相关推荐

    XML Web Services高级编程范例.rar

    本压缩包"XML Web Services高级编程范例.rar"包含了多个示例项目和相关文件,帮助开发者深入理解并掌握XML Web服务的高级编程技巧。 首先,"readme.txt"通常是提供项目说明、指南或安装步骤的文本文件,对于理解...

    accp5.0y2web服务范例代码

    2. **SOAP协议**:如果使用了SOAP,那么会涉及到XML消息格式和WSDL的使用。 3. **JAX-WS使用**:如何使用Java API创建和消费Web服务。 4. **RESTful服务**:如果涉及REST,将学习到HTTP方法(GET, POST等)、URI设计...

    XML Web Services高级编程范例(NET平台)

    这些范例可能涵盖服务的创建、WSDL的生成、SOAP消息的处理、错误处理和安全性等方面,对于想要深入理解.NET平台上的XML Web Services开发的开发者来说,是一份宝贵的参考资料。通过学习和实践这些范例,开发者可以...

    XML+Web+Services高级编程范例

    同时,学习如何编写和理解WSDL文件,以定义Web Services的接口和契约。 4. **C#中的XML和Web Services**:利用C#的System.Xml命名空间,学习如何在C#代码中处理XML数据。此外,掌握如何在C#中创建和调用Web ...

    Axis2范例,对象传输

    - `(axis2)` 文件夹可能包含Axis2的配置文件、服务部署文件(.aar)、服务接口定义(WSDL)、客户端代码(Stub类)等。 - `src` 文件夹可能包含源代码,包括服务端和客户端的Java类。 - `build.xml` 或类似的文件...

    sproxy.rar

    - 使用sproxy.exe将WSDL文件转换为头文件,这些头文件定义了Web服务的接口。 - 接下来,运行soapcpp2工具,输入sproxy.exe生成的头文件,生成C++源代码。 - 编译生成的C++源代码,将它们链接到项目中。 - 在项目中,...

    WebService_CXF范例.

    在支持的标准方面,CXF涵盖了JAX-WS、JSR-181、SAAJ、JAX-RS等,以及各种SOAP版本和WSDL规范。同时,它支持多种数据绑定机制,如JAXB 2.x、Aegis、XMLBeans和SDO,并能处理XML、JSON、FastInfoset等多种数据格式。在...

    cxf开发范例

    本范例主要涵盖了基于SOAP消息和REST风格的CXF开发,以及如何利用Spring发布SOAP和REST的Web服务。通过深入理解这些知识点,开发者可以更加熟练地运用CXF来实现高效、灵活的服务接口。 【SOAP消息的CXF开发】 SOAP...

    Silverlight_WebServices范例

    它们通过SOAP(Simple Object Access Protocol)协议通信,使用WSDL(Web Services Description Language)定义服务接口,并通过UDDI(Universal Description, Discovery, and Integration)进行服务发现。...

    面向服务软件体系架构原理与范例研究.pptx

    服务之间通过标准化的接口(如WSDL)进行通信,并使用基于SOAP的协议进行数据传输。 面向服务软件体系架构的基本原理 面向服务软件体系架构是一种以服务为核心的软件架构风格,它将应用程序的不同功能单元(服务)...

    Java Web程序开发范例宝典源代码11-21

    可能涉及Wsimport/Wsdl2java工具的使用,以及客户端和服务端的实现。 通过分析这些文件名,我们可以猜测每个文件可能代表了一个独立的主题或例子。例如,"16"可能讲解了Servlet的某个特定话题,"14"可能涉及JSP的...

    java调用webservice源码范例(由浅入深代码范例和详细说明)(合集).docx

    此外,对于更复杂的Web服务,其WSDL可能会定义多个操作,或者需要处理各种类型的输入和输出数据,这就需要对SOAP消息结构有深入的理解。 为了处理复杂的数据交换,Java提供了JAXB(Java Architecture for XML ...

    海康3.2.3-3.2.5webservice对接.zip

    Web Service是一种基于XML(Extensible Markup Language)和WSDL(Web Services Description Language)的标准,它通过SOAP(Simple Object Access Protocol)协议进行通信,允许不同的应用程序之间共享数据和功能。...

    C#.NET范例3

    Web Service是一种基于标准(如SOAP、WSDL和UDDI)的跨平台、跨语言通信方式。在C#.NET中,可以使用ASMX(ASP.NET Web Services)或WCF(Windows Communication Foundation)来创建和消费Web Service。 - ASMX:...

    用 web Service 写的一个小例子

    5. **生成WSDL**:Web服务描述语言(WSDL)是Web服务的接口规范,XFire会自动生成WSDL文件,描述服务的接口、操作和绑定。 6. **客户端调用**:在其他系统中,可以通过解析WSDL来生成对应的客户端代理类,然后通过...

    ASP.NET程序开发范例宝典_PartVI_A

    6. **Web服务与XML**:ASP.NET支持创建和消费Web服务,这部分可能涉及SOAP、WSDL和XML数据的处理,这对于实现分布式系统和跨平台通信至关重要。 7. **安全性**:涵盖ASP.NET的安全性特性,如身份验证、授权、角色...

    webservice例子

    XFire支持多种Web服务规范,如SOAP、WSDL和WS-I BP,这使得服务具有高度的互操作性。 在Spring中使用XFire构建Web Service应用的步骤大致如下: 1. **设置环境**:首先,你需要在项目中引入Spring和XFire的相关库...

    c#中WebService的介绍及调用方式小结

    前言 之前做移动端开发,都不清楚WebService是啥东东,现在接触c#,项目中有三处WebService调用,就不得不与其打交道了,最近碰...是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。简单

Global site tag (gtag.js) - Google Analytics