PHP Soap Server:使用字符串(xml字符串)而不是WSDL文件实例化(url to it)

前端之家收集整理的这篇文章主要介绍了PHP Soap Server:使用字符串(xml字符串)而不是WSDL文件实例化(url to it)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Soap Server的 PHP页面(我见过它):

http://www.php.net/manual/en/soapserver.soapserver.php

但我错过了一个重要的缺乏文档,因为我自己的问题:

我需要知道是否可以使用XML字符串直接实例化服务器,就像SimpleXML类一样:

//From var (the one I want):
$movies = new SimpleXMLElement($xmlstr);

要么

//From file and from string (the one I want):
$xml = simplexml_load_file('test.xml');

$xml = simplexml_load_string($string);

所以我想做这样的事情:

$wsdl_cont = file_get_contents("../xmls/mywsdl.wsdl");
$server = new SoapServer($wsdl_cont);

可能吗?

原因是,因为我有一些不同的URL必须使用相同的XML,所以我需要在模板URL上动态替换,并将其更改为正确的URL,然后加载WSDL.但我不想在硬盘上保存即时生成的WSDL,以便在读取后立即将其删除.

是否有可能在PHP上创建某种“虚拟文件”并使用它,就像它是一个磁盘读取一样?某种o流缓冲?或者某种文件描述符在飞行中?

是的,可以通过创建文件内容中的 DATA URI并将其用作“文件”.
$name = 'mywsdl.wsdl';
$path = '/path-to-file/'.$name;
$data = file_get_contents($path);
$file = 'data://text/plain;base64,'.base64_encode($data);
$server = new SoapServer($file);

这应该做你想要的. A related answer.

原文链接:https://www.f2er.com/php/135712.html

猜你在找的PHP相关文章