本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

PHP SOAP Web 服务

发布于2024-10-31 13:15     阅读(1061)     评论(0)     点赞(20)     收藏(0)


我正在尝试创建一个简单的 PHP web 服务,因为我是这个领域的新手。我决定使用 SOAP 来开发它。我使用 WAMP 作为服务器,问题是我无法运行脚本或获取 WSDL 文件。

这是server.php的代码:

<?php
//call library 
require_once ('lib/nusoap.php'); 
//using soap_server to create server object 
$server = new soap_server; 

//register a function that works on server 
$server->register('get_message'); 

// create the function 
function get_message($your_name) 
{ 
if(!$your_name){ 
return new soap_fault('Client','','Put Your Name!'); 
} 
$result = "Hello World ".$your_name .". Thanks for Your First Web Service Using PHP with SOAP"; 
return $result; 
} 
// create HTTP listener 
$server->service($HTTP_RAW_POST_DATA); 
exit(); 
?>  

以下是运行的截图:

运行 server.php

以下是client.php的代码:

<?php 
require_once ('lib/nusoap.php'); 
//Give it value at parameter 
$param = array( 'your_name' => 'Omar'); 
//Create object that referer a web services 
$client = new soapclient('http://localhost/WebServiceSOAP/server.php'); 
//Call a function at server and send parameters too 
$response = $client->call('get_message',$param); 
//Process result 
if($client->fault) 
{ 
echo "FAULT: <p>Code: (".$client->faultcode."</p>"; 
echo "String: ".$client->faultstring; 
} 
else 
{ 
echo $response; 
} 
?> 

以下是运行的截图:

运行client.php 在此处输入图片描述

另外这个错误一直困扰着我:

未定义变量:HTTP_RAW_POST_DATA


解决方案


你可以试试下面的代码吗

$client = new soapclient('http://localhost/WebServiceSOAP/server.php'); 

$client = new SoapClient(
    null,
    array(
        'location' => 'ADD YOUR LOCATION',
        'uri' => 'ADD YOUR WSDL FILE ',
        'trace' => 1,
        'use' => SOAP_LITERAL,
    )
);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/553114/d88669c6a118ed79a2e5/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

20 0
收藏该文
已收藏

评论内容:(最多支持255个字符)