Я пытаюсь создать веб-сервис с PHP. Ниже мой код -PHP SOAP client send XML
Веб-сервер -
require 'inventory_functions.php';
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$server = new SoapServer("inventory.wsdl");
$server->addFunction("getItemCount");
$server->handle();
Inventory_functions.php -
function getItemCount($upc){
//in reality, this data would be coming from a database
$items = array('12345'=>5,'19283'=>100,'23489'=>'234');
return $items[$upc];
}
Мой клиент Test -
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$client = new SoapClient("http://www.xxx.co.uk/service/inventory.wsdl");
$return = $client->getItemName('12345');
print_r($return);
Когда я запускаю этот everythign нормально. число «5» будет выводиться в моем браузере. Мне действительно нужна помощь в отправке данных через XML на SOAP-сервер, и я добавлю эти данные в MySQL.
Как отправить XML-тест клиенту?
Благодаря
теперь я понимаю, что то, что вы действительно хотите, чтобы послать XML в Web -Обслуживание. Чтобы сделать это, вы не можете просто изменить функцию getItemCount PHP, чтобы получить строку в качестве входа? Если вы это сделаете, клиент может отправить XML как строку в функцию getItemCount. Чтобы избежать беспорядочности при вводе строки XML в запрос Soap, вы можете преобразовать исходный XML в строку base64 перед отправкой. – bpatrao