导航:首页 > 编程语言 > php如何启动soap服务

php如何启动soap服务

发布时间:2022-07-14 11:09:28

php soap无法开启

在windows下开启soap扩展

  1. 在php.ini中去掉extension=php_soap.dll前的分号

  2. 将php_soap.dll(在php安装路径下可以找到)复制到system32下

  3. 重启服务器

㈡ php soap 怎么用,给点建议

实际上,soap基本都是通过http传递的。

nusoap使用curl来post或者get信息到webservices,而soap_server和普通的程序类似,接受get或者post信息,但是经过了解析之后,呈现给你的就是规定的信息。

ajax也是类似的道理啊。

㈢ PHP怎么请求soap。其中要调用的那个方法的参数是这个方法的对象参数。到底该怎么调用。

header('Content-Type: text/html; charset=UTF-8');
//链接
$http='http://xxxxxx?wsdl';
//参数,很重要,之前搞的时候一直传不了参数过去,原来是这样的,搞死我了
$params=array('string'=>'xxx','string1'=>'xxxx');
$client = new SoapClient($http,array('encoding'=>'utf-8','cache_wsdl' => 0,'compression'=>true));
$client->soap_defencoding = 'utf-8';
$client->xml_encoding = 'utf-8';
//请求返回的数据
$return = $client->$fun($params);//parameters

㈣ 如何使用PHP调用ArcGIS Server的Soap接口

前一阵子,简单的学习了一下ArcGIS Server,在开发层次上ArcGIS Server支持两种协议,一个是老的Soap协议,也就是webservice,另外一种是REST协议,其中REST协议是从ArcGIS Server9.3开始支持的协议,也是ESRI今后只要支持的协议,但是老的Soap协议还继续支持。该章得内容主要介绍如何使用PHP来调用ArcGIS Server的WebService。
查看ArcGIS Server的SOAP SDK的帮助的时候,会发现所提供的示例代码只有c#,vb.net和java的,并没有PHP语言的示例,实际上并不是不支持PHP语言,从PHP toolkits include PHP-SOAP and NuSOAP上可以看出PHP是支持Soap协议的,只不过使用PHP并没有提供现成的工具可以将WSDL转换成本地化的类,而.NET SDK提供了Wsdl.exe工具,java提供了Apache Axis工具可以将WSDL中的类型转换成本地化类。
当使用PHP调用WebService的时候,当输入的参数是简单数据类型的时候是没有任何问题的,返回值类型是类得时候也没有任何的问题,但是当输入参数的值类型为某个类得时候,就无法调用了,这些类太多了,自己手写这些类几乎是不可能,因此找到一个类似于Wsdl.exe和Apache Axis的工具还是很有必要的,在网上终于搜到一个工具,名字为wsdl2php.php可以实现该功能,其代码如下所示:
// +------------------------------------------------------------------------+
// | wsdl2php |
// +------------------------------------------------------------------------+
// | Copyright (C) 2005 Knut Urdalen |
// +------------------------------------------------------------------------+
// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
// | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
// | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
// | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
// | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// +------------------------------------------------------------------------+
// | This software is licensed under the LGPL license. For more information |
// | see http://wsdl2php.sf.net |
// +------------------------------------------------------------------------+

ini_set('soap.wsdl_cache_enabled', 0); // disable WSDL cache

//if( $_SERVER['argc'] != 2 ) {
// die("usage: wsdl2php /n");
//}

$wsdl = "liuf:8399/arcgis/services/catchment/MapServer?wsdl";

print "Analyzing WSDL";

try {
$client = new SoapClient($wsdl);
} catch(SoapFault $e) {
die($e);
}
print ".";
$dom = DOMDocument::load($wsdl);
print ".";

// get documentation
$nodes = $dom->getElementsByTagName('documentation');
$doc = array('service' => '',
'operations' => array());
foreach($nodes as $node) {
if( $node->parentNode->localName == 'service' ) {
$doc['service'] = trim($node->parentNode->nodeValue);
} else if( $node->parentNode->localName == 'operation' ) {
$operation = $node->parentNode->getAttribute('name');
//$parameterOrder = $node->parentNode->getAttribute('parameterOrder');
$doc['operations'][$operation] = trim($node->nodeValue);
}
}
print ".";

// get targetNamespace
$targetNamespace = '';
$nodes = $dom->getElementsByTagName('definitions');
foreach($nodes as $node) {
$targetNamespace = $node->getAttribute('targetNamespace');
}
print ".";

// declare service
$service = array('class' => $dom->getElementsByTagNameNS('*', 'service')->item(0)->getAttribute('name'),
'wsdl' => $wsdl,
'doc' => $doc['service'],
'functions' => array());
print ".";

// PHP keywords - can not be used as constants, class names or function names!
$reserved_keywords = array('and', 'or', 'xor', 'as', 'break', 'case', 'cfunction', 'class', 'continue', 'declare', 'const', 'default', 'do', 'else', 'elseif', 'enddeclare', 'endfor', 'endforeach', 'endif', 'endswitch', 'endwhile', 'eval', 'extends', 'for', 'foreach', 'function', 'global', 'if', 'new', 'old_function', 'static', 'switch', 'use', 'var', 'while', 'array', 'die', 'echo', 'empty', 'exit', 'include', 'include_once', 'isset', 'list', 'print', 'require', 'require_once', 'return', 'unset', '__file__', '__line__', '__function__', '__class__', 'abstract', 'private', 'public', 'protected', 'throw', 'try');

㈤ PHP如何启动soap服务

是不是php_soap.dll文件坏了?另外,php.ini放在服务器的c:\windows目录下然后再重启。

㈥ 请大神指教用php发送SOAP请求

使用PHP中的soap类进行soap请求,请求的数据要跟wsdl中的数据类型一致,返回的数据也是由WSDL中定义好了的按照定义去取数据即可。

㈦ php soap 在windows 如何使用 (php。ini)中都配置好了 变量也加了 就是无法使用

楼上二位,显然没搞清楚呀 Windows下和linux可差大了
下面我根据supsite的文摘写了一下:
当然先要有一套:(如果装系统是定制了,可以卸载,也可以直接安装)
httpd-2.0.X.tar.gz
MySQL-client-4.0.20-0.i386.rpm
MySQL-server-4.0.20-0.i386.rpm http: //
php-5.0.X.tar.gz
ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
http: // (这个装不装都可以加速php用的)
gd-2.0.28.tar.gz
下面开始安装:
1.安装MYSQL 服务器:
#rpm -ivh MySQL-server-4.0.20-0.i386.rpm
#rpm -ivh MySQL-client-4.0.20-0.i386.rpm
mysql就ok了
2.安装GD库
# tar -zxf gd-2.0.26gif.tar.gz
# cd gd-2.0.26gif
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ (请指定及格插件的安装路径,否则安装php的时候可能出错!)
# make
# make install
3.安装apacha
安装apache,(php5安装环境需要apache2.0.46以上版本,下载的时候注意!)
#tar zxvf httpd-2.0.50.tar.gz
#cd httpd-2.0.50
#./configure --prefix=/usr/local/apache2 --enable-mole=so
#make
#make install
4.安装php
# tar -zxf php5-200411260130.tar.gz
# cd php5-200411260130
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --enable-trace-vars --with-zlib-dir=/usr/local/zlib2/ -with-mysql=/var/lib/mysql
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini

编辑apache配置文件httpd.conf
用编辑器打开:/usr/local/apache2/conf/httpd.conf

#AddType application/x-tar .tgz
下加一行
#LoadMole php5_mole moles/libphp5.so
AddType application/x-httpd-php .php
如果你搜索其它地方没有以下这行
LoadMole php5_mole moles/libphp5.so
请把上面的#号去掉
还有找到
DirectoryIndex index.html index.html.var
在后面加 index.php 让它把index.php做为默认页
找到
# don't use Group #-1 on these systems!
把下面的用户名和组改为
User apache
Group apache
再找
#ServerName
把#去掉,后面的IP改成你的IP.
找到
DocumentRoot "/usr/local/apache2/htdocs"
把/usr/local/apache2/htdocs改为你存放网页文件的路径
为了让中文网页没乱码
找到
AddDefaultCharset iso8859-1
把后面的iso8859-1改为gb2312 或者是干脆off
其他的选项就自己修改吧!或者到 有一个专门的httpd.conf的说明

启动apache
# /usr/local/apache2/bin/apachectl start
写一个测试页放到你网页目录下看一下

用ZendOptimizer加速PHP
#tar zxvf ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
#cd ZendOptimizer-2.5.3-linux-glibc21-i386
#./install.sh
安装的时候注意输入正确的安装apache的路径等内容!
安装完毕,再看看phpinfo页面的zend选项就发现了!!

这是从弄的,安装很不容易的,我也试过费了好大好大劲,如果有什么问题,可以去那个页面看一下,上面有一些问题的解决方法,Good Luck!!

㈧ 如何让本机php环境支持soap

将php_soap.dll(在php安装路径下可以找到)复制到system32下
重启服务器,如果还是不行 你可以看下错误日志,具体什么问题

㈨ PHP SOAP服务器不工作问题,怎么解决

在windows下开启soap扩展

阅读全文

与php如何启动soap服务相关的资料

热点内容
awss3命令 浏览:356
百度店铺客户订单手机加密 浏览:500
钉钉班群文件夹怎么上传文件 浏览:749
人社app怎么解绑手机 浏览:101
caj文件夹打不开 浏览:475
什么app可以将电量变色 浏览:692
解放出你的解压抖音小游戏 浏览:346
什么方式解压比较好 浏览:266
erp是什么服务器 浏览:185
python中tmp 浏览:25
说明wpf加密过程 浏览:145
java读取list 浏览:703
iis7gzip压缩 浏览:40
有什么安卓机打吃鸡好 浏览:598
三星u盘加密狗 浏览:474
php函数的返回值吗 浏览:588
国企稳定程序员 浏览:328
编程猫如何使用教程视频 浏览:221
安卓远端网页如何打日志 浏览:218
压缩flash大小 浏览:993