Momenteel ben ik begonnen met het maken van een webservice, om deze straks vanuit objective C aan te kunnen spreken. Met een handleiding op internet heb ik een server.php, SoapActions.php en client.php gemaakt. Hiermee is het mogelijk om vanuit client.php functies aan te roepen. Echter is mijn vraag hoe krijg ik de soap request hier uit?
Ik verwacht dus zoiets te krijgen (voorbeeld van internet):
POST /currencyconvertor.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ConversionRate xmlns="http://www.webserviceX.NET/">
<FromCurrency>AFA</FromCurrency>
<ToCurrency>AFA</ToCurrency>
</ConversionRate>
</soap12:Body>
</soap12:Envelope>
Mijn server en client zijn nu erg simpel:
server.php
<?php
require_once('Zend/Soap/AutoDiscover.php');
require_once('Zend/Soap/Server.php');
require_once('Zend/Soap/Wsdl.php');
require_once('SoapActions.php');
$wsdl = new Zend_Soap_Autodiscover();
$wsdl->setClass('SoapActions');
if (isset($_GET['wsdl'])) {
$wsdl->handle();
} else {
$server = new Zend_Soap_Server('http://localhost/zend/server.php?wsdl');
$server->setClass('SoapActions');
$server->setEncoding('ISO-8859-1');
$server->handle();
}
?>