gpt4 book ai didi

PHP SOAP 服务器 : instantiate with a string (xml string) instead of WSDL file (url to it)

转载 作者:可可西里 更新时间:2023-11-01 12:44:39 25 4
gpt4 key购买 nike

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 上即时替换,并将其更改为正确的,然后加载WSDL。但我不想将即时生成的 WSDL 保存在 HDD 上,以便在读取后立即将其删除。

是否可以在 PHP 上创建某种“虚拟文件”并像磁盘读取文件一样使用它?某种流缓冲区?或者某种动态的文件描述符?

最佳答案

是的,可以通过创建 DATA URI从文件内容中取出并将其用作"file"。

$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);

这应该可以满足您的需求。 related answer .

关于PHP SOAP 服务器 : instantiate with a string (xml string) instead of WSDL file (url to it),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8151712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com