Nusoap复杂对象的的webService制作

推荐网址:
http://www.scottnichol.com/nusoapprogwsdl.htm
摘抄部分如下:
服务器端程序

<?php
// Pull in the NuSOAP code
require_once(‘nusoap.php‘);
// Create the server instance
$server = new soap_server();
// Initialize WSDL support
$server->configureWSDL(‘hellowsdl2‘, ‘urn:hellowsdl2‘);
// Register the data structures used by the service
$server->wsdl->addComplexType(
    ‘Person‘,
    ‘complexType‘,
    ‘struct‘,
    ‘all‘,
    ‘‘,
    array(
        ‘firstname‘ => array(‘name‘ => ‘firstname‘, ‘type‘ => ‘xsd:string‘),
        ‘age‘ => array(‘name‘ => ‘age‘, ‘type‘ => ‘xsd:int‘),
        ‘gender‘ => array(‘name‘ => ‘gender‘, ‘type‘ => ‘xsd:string‘)
    )
);
$server->wsdl->addComplexType(
    ‘SweepstakesGreeting‘,
    ‘complexType‘,
    ‘struct‘,
    ‘all‘,
    ‘‘,
    array(
        ‘greeting‘ => array(‘name‘ => ‘greeting‘, ‘type‘ => ‘xsd:string‘),
        ‘winner‘ => array(‘name‘ => ‘winner‘, ‘type‘ => ‘xsd:boolean‘)
    )
);
// Register the method to expose
$server->register(‘hello‘,                    // method name
    array(‘person‘ => ‘tns:Person‘),          // input parameters
    array(‘return‘ => ‘tns:SweepstakesGreeting‘),    // output parameters
    ‘urn:hellowsdl2‘,                         // namespace
    ‘urn:hellowsdl2#hello‘,                   // soapaction
    ‘rpc‘,                                    // style
    ‘encoded‘,                                // use
    ‘Greet a person entering the sweepstakes‘        // documentation
);
// Define the method as a PHP function
function hello($person) {
    $greeting = ‘Hello, ‘ . $person[‘firstname‘] .
                ‘. It is nice to meet a ‘ . $person[‘age‘] .
                ‘ year old ‘ . $person[‘gender‘] . ‘.‘;

    $winner = $person[‘firstname‘] == ‘Scott‘;

    return array(
                ‘greeting‘ => $greeting,
                ‘winner‘ => $winner
                );
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ‘‘;
$server->service($HTTP_RAW_POST_DATA);
?>

客户端程序:

<?php
// Pull in the NuSOAP code
require_once(‘nusoap.php‘);
// Create the client instance
$client = new soapclient(‘http://localhost/phphack/hellowsdl2.php?wsdl‘, true);
// Check for an error
$err = $client->getError();
if ($err) {
    // Display the error
    echo ‘<h2>Constructor error</h2><pre>‘ . $err . ‘</pre>‘;
    // At this point, you know the call that follows will fail
}
// Call the SOAP method
$person = array(‘firstname‘ => ‘Willi‘, ‘age‘ => 22, ‘gender‘ => ‘male‘);
$result = $client->call(‘hello‘, array(‘person‘ => $person));
// Check for a fault
if ($client->fault) {
    echo ‘<h2>Fault</h2><pre>‘;
    print_r($result);
    echo ‘</pre>‘;
} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo ‘<h2>Error</h2><pre>‘ . $err . ‘</pre>‘;
    } else {
        // Display the result
        echo ‘<h2>Result</h2><pre>‘;
        print_r($result);
    echo ‘</pre>‘;
    }
}
// Display the request and response
echo ‘<h2>Request</h2>‘;
echo ‘<pre>‘ . htmlspecialchars($client->request, ENT_QUOTES) . ‘</pre>‘;
echo ‘<h2>Response</h2>‘;
echo ‘<pre>‘ . htmlspecialchars($client->response, ENT_QUOTES) . ‘</pre>‘;
// Display the debug messages
echo ‘<h2>Debug</h2>‘;
echo ‘<pre>‘ . htmlspecialchars($client->debug_str, ENT_QUOTES) . ‘</pre>‘;
?>

Nusoap复杂对象的的webService制作

时间: 2024-06-08 04:52:56

Nusoap复杂对象的的webService制作的相关文章

NuSOAP简介 php中使用webservice

许多机构已经采用了Apach和PHP作为他们的Web应用环境.在Web services模式中采用PHP可能看上去可能会比较难.但是事实上,搭配NuSoap,你可以轻松的应用PHP构建SOAP的客户端和服务器端. PHP SOAP服务器   用PHP和NuSoap来建立SOAP服务器非常容易.基本上,你只要写出你想要暴露给你的Web services的函数,然后用NuSoap去注册它们就可以了.OK,另外还需要两步才能完成PHP SOAP服务器的建立.首先你还要在你的PHP代码中创建NuSoap

JS-结合html综合练习js的对象——班级成绩表制作

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>对象综合练习</title> <style type="text/css"> body { font: 14px "微软雅黑"; } span { padding: 5px; } table { margin: 0 auto; border: 3p

Jquery Ajax 复杂json对象提交到WebService

一.使用get方式 1.前台 //复杂json对象提交 var person = {'per':"{ 'id': 1, 'name': '张三', 'sex': '男' }"}; $.ajax({ type: "get", url: "JsonObject.asmx/GetPersonByObject", data: person, dataType: 'json', contentType: 'application/json;charset=

C# 调用Webservice并传递序列化对象

原文:C# 调用Webservice并传递序列化对象 C#动态调用WebService注意要点 1.动态调用的url后面注意一定要加上?WSDL   例如:string _url = "http://服务器IP:端口/CITI_TRANS_WH/wsTransData_InWH.asmx?WSDL"; ---------------------------------------------------------------------------------------------

android loginDemo +WebService用户登录验证

本文是基于android4.0下的loginActivity Demo和android下的Webservice实现的.loginActivity是android4.0下的自带演示例程,他自带登录界面.用户名格式设定.输入密码和用户名格式是否正确.用户登录时间进度条等功能,用户可以在这个例程的基础上延伸出自己login用户登录程序.在这里我没有对这个程序做过多的延伸,只是增加Webservice验证用户登录的功能,使其成为一个完整的网络用户登录验证的模块程序.在这我会对这个Demo做全面的解析,使

Android通过ksoap2这个框架调用webservice大讲堂

昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有必要把这些东西整合起来,一方面自己有时候也看,另一方面当然是能帮助没有做个的小伙伴,其实东西不是很多,就是讲的有点详细,不怕多,就怕不仔细, WebServices简介 Web services是一种部署在Web上的对象或者组件,能够通过Internet进行调用的应用程序.Web services

WebService开发

一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问并使用在线服务,一些数据,由于安全性问题,不能提供数据库给其他单位使用,这时候可以使   用WebService服务提供. 二.创建WebService 创建WebService之后,我们就可以在文件里写返回数据的方法了. 三.返回数据的四种形式 笔者水平有限,只列出这四种数据的返回形式: (1)直接返回DataSet对象(2)返回DataSet对象用Binary序列化后的字节数组(3)返回DataS

Spring整合CXF,发布RSETful 风格WebService(转)

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF WebService不了解,具体你可以参看这两篇文章: http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html http://www.cnblogs.com/ho

Android与服务器端数据交互(基于SOAP协议整合android+webservice)

此文出自:http://www.cnblogs.com/zhangdongzi/archive/2011/04/19/2020688.html 上一节中我们通过http协议,采用HttpClient向服务器端action请求数据.当然调用服务器端方法获取数据并不止这一种.WebService也可以为我们提供所需数据, 那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起. 我们在PC机器java客