crm met soap communicatie uitbreiden
ik heb een simpel crm systeem met contactgegevens.
Nu wil ik voor mijn leerdoeleinden met dit systeem communiceren met soap.
Het is mij niet helemaal duidelijk waar ik moet beginnen als ik bijvoorbeeld via een soap call een contactgegevens wil opvragen.
Kan iemand wegwijs maken ofdat er bestaande classes zijn die het xml voor je doen? En wat zou ik in mijn crm moeten uitbreiden? Ik heb iets gelezen dat je een wsdl bestand moet hebben?
Heeft iemand een idee?
alvast bedankt,
ric
is het zo moeilijk dan?
Nee hoor soap is niet zo moeilijk. PHP heeft hier standaard ingebouwde classes voor het opzetten van een client connectie en server. Als je inderdaad een WSDL gebruikt hoef je niet druk te maken over de XML opmaak die over en weer gaat.
Maar je wilt ergens contact gegevens vandaan halen? Heb je wel een SoapServer (endpoint) waarmee je kan praten? Weet je wel waar SOAP eigenlijk echt voor bedoeld is?
Misschien meer API dan SOAP wat Ric bedoelt??
In dit geval met een crm systeem welke uit 1 tabel contactenbestaat.
Dit is meer een opdracht om iets meer te leren om hoe je een bestaand applicatie verder kan uitwerken om mee te communiceren.
In dit geval SOAP, maar misschien zijn er andere mogelijkheden.
Suggesties?
Ik heb nog verder kunnen kijken met NuSoap. Hier heb ik wel een SOAP server kunnen opzetten.
Bijna precies wat ik wil, alleen begrijp ik niet hoe je meer functies kan registreren, in mijn server bestand heb ik het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function getStockQuote($symbol) {
mysql_connect('localhost','root','');
mysql_select_db('soaptest');
$query = "SELECT stock_price FROM stockprices "
. "WHERE stock_symbol = '$symbol'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
return $row['stock_price'];
}
function helloworld(){
return 'Hello World!';
}
require('lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('stockserver', 'urn:stockquote');
$server->register("getStockQuote",
array('symbol' => 'xsd:string'),
array('return' => 'xsd:decimal'),
'urn:stockquote',
'urn:stockquote#getStockQuote');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)
? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
mysql_connect('localhost','root','');
mysql_select_db('soaptest');
$query = "SELECT stock_price FROM stockprices "
. "WHERE stock_symbol = '$symbol'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
return $row['stock_price'];
}
function helloworld(){
return 'Hello World!';
}
require('lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('stockserver', 'urn:stockquote');
$server->register("getStockQuote",
array('symbol' => 'xsd:string'),
array('return' => 'xsd:decimal'),
'urn:stockquote',
'urn:stockquote#getStockQuote');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)
? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
Hoe kan ik hier functie helloworld erbij registreren?
Klopt het dan dat dit een grote lijst met alle functies erin, waarvan ik wil dat het systeem mag communiceren?
Het wsdl lijkt ook genereert te worden door nuSoap.
Kan iemand mij een stap verder helpen?
alvast bedankt.