Hi,

Ik ben bezig met de SOAP module voor PHP. Nu zit ik met een probleem dat ik niet kan achterhalen, en waarover ik ook niets kan terugvinden in Google.
Ik krijg deze respons van de server:

Notice: Undefined index: scheme in /usr/local/php/lib/php/SOAP/Transport.php on line 42

Maar wat ik fout heb ingegeven kan ik niet achterhalen.
Heeft iemand hier ervaring mee?

Alvast bedankt!
[php]isset[/php] gebruiken
isset() is slechts voor een specifieke situatie een oplossing.

De foutmelding zegt dat je een index, meestal een key van een array, gebruikt, die niet bestaat. Dus stel je hebt een array die $array heet, en je gebruikt $array['PHPerik'] terwijl deze nooit is gedefinieerd, dan krijg je een 'Notice: Undefined index'.

Controleer de namen van je keys in eerste instantie. Gebruik verder nooit een dergelijke constructie:

if ($_GET['name'])

Maar altijd:

if (isset($_GET['name']))

Want als $_GET['name'] niet geset is, en je controleert het met de eerste (foute) if-constructie, dan krijg je wel false (want hij bestaat niet), maar ook een notice omdat je een index gebruikt die ook niet bestaat.

Verder, zie Google.
Dit is de code die ik van het bedrijf gekregen heb die de SOAP module gebruikt om connectie te maken met hun systeem dat in 4D geschreven is.

/* Include PEAR::SOAP's SOAP_Client class: */ 
require_once('SOAP/Client.php');

/* Create a new SOAP client using PEAR::SOAP's SOAP_Client-class: */ 
$client = new SOAP_Client('192.168.245.100');
$client->setOpt('user', 'blabla'); 
$client->setOpt('pass', 'blabla'); 
/* Define the parameters we want to send to the server. 
Note that these arguments should be sent as an array: */ 
$params = array( 
	'request'=>'4', 
	'input'=> 
	'<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
	<ROOT> 
	<INTERNET_BUFFER> 
	<RELATION_NUMBER>10</RELATION_NUMBER> 
	<COMPANY>wij</COMPANY> 
	<ADDRESS>hier</ADDRESS> 
	<ADDRESS_NUMBER>20</ADDRESS_NUMBER> 
	<ZIPCODE>2000</ZIPCODE> 
	<CITY>daar</CITY> 
	<COUNTRY>ginder</COUNTRY> 
	<PHONE>012345678</PHONE> 
	<FAX>012345678</FAX> 
	<EMAIL>[email protected]</EMAIL> 
	<CONTACT_NAME>naam</CONTACT_NAME> 
	<CHECKLIST></CHECKLIST> 
	<RUN_01></RUN_01> 
	<RUN_02></RUN_02> 
	<RUN_03></RUN_03> 
	<TEXT_01></TEXT_01> 
	<TEXT_02></TEXT_02> 
	<TEXT_03></TEXT_03> 
	<TEXT_04></TEXT_04> 
	<TEXT_05></TEXT_05> 
	<TEXT_06></TEXT_06> 
	<TEXT_07></TEXT_07> 
	<TEXT_08></TEXT_08> 
	<TEXT_09></TEXT_09> 
	<TEXT_10></TEXT_10> 
	<TEXT_11></TEXT_11> 
	<TEXT_12></TEXT_12> 
	<REFERENCE>test</REFERENCE> 
	<STANDARD_QUOTATION>5000</STANDARD_QUOTATION> 
	</INTERNET_BUFFER> 
	</ROOT> '); 

/* Send a request to the server, and store its response in 
$response: */ 
$response = $client->call('SOAP_LINK', $params, array('namespace'=> 'http://www.drukmerk.com/site/'), "Multi-Press#SOAP_LINK"); 

echo $response['output'];

Reageren