簡體   English   中英

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

[英]PHP Soap Server: instantiate with a string (xml string) instead of WSDL file (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上創建某種“虛擬文件”並使用它,就像它是一個磁盤讀取一樣? 某種流緩沖? 還是某種文件描述符?

是的,可以通過從文件內容創建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);

這應該做你想要的。 一個相關的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM