SOAP PHP Server maken.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark H

Mark H

26/03/2013 11:08:20
Quote Anchor link
Hallo Allemaal,

Ik ben op dit moment bezig met het maken van een SOAP server maar dit wil nog niet echt lukken.
Ik heb van een klant een WSDL file gekregen, op basis van deze WSDL file moet ik een SOAP server maken.

Nu ben ik al een tijdje aan het proberen geweest, eerst de wiki van SOAP en PHP van PFZ gevolgd dit lukte allemaal.
Daarna ben ik gaan proberen met het door de klant aangeleverde SOAP bestand, echter wil dit nog niet lukken.

Ik krijg het niet voor elkaar om een request te doen en al zeker niet om een return te krijgen.

Dit is mijn SOAP server:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

if(!extension_loaded("soap")){
  dl("php_soap.dll");
}

ini_set("soap.wsdl_cache_enabled","0");

class GetAccount {
    public $IpAddress;
}

function
GetAccount(GetAccount $parameters){
    return '2222';
}


$server = new SoapServer("AccountResolver.wsdl");
$server->AddFunction("GetAccount");
$server->handle();
?>


Dit is mij test Client:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

$client = new SoapClient( 'http://localhost/AccountResolver.wsdl', array( 'trace'=>1 ) );

$return2 = $client->GetAccount(array("GetAccount" => "222"));
$return =  $client->__soapCall("GetAccount", array('GetAccount' => array("10.10.0.254")));

var_dump($return2);

highlight_string( $client->__getLastRequest() );
highlight_string( $client->__getLastResponse() );

echo '<br/>request'. $client->__getLastRequest();
echo '<br/>response'. $client->__getLastResponse();

echo'<pre>';
    print_r( $client->__getFunctions() );
    print_r( $client->__getTypes() );
echo '</pre>';


print_R("\nReturning value of __soapCall() call: ".$return);

?>


En dit is het resultaat van mijn Client:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
object(stdClass)#2 (0) { } <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Body><ns1:GetAccount/></SOAP-ENV:Body></SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Body><ns1:GetAccountResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>

request
response
Array
(
    [0] => GetAccountResponse GetAccount(GetAccount $parameters)
)
Array
(
    [0] => struct AccountRequest {
 string IpAddress;
}
    [1] => struct AccountReply {
 int ErrorCodeField;
 string ErrorDescriptionField;
 string TanCode;
}
    [2] => int char
    [3] => duration duration
    [4] => string guid
    [5] => struct GetAccount {
 AccountRequest request;
}
    [6] => struct GetAccountResponse {
 AccountReply GetAccountResult;
}
)

Catchable fatal error: Object of class stdClass could not be converted to string in C:\Users\mvhee_000\Desktop\USBWebserver v8.5\USBWebserver v8.5\8.5\root\client.php on line 24


Kan iemand mij verder opgang helpen, al de soap servers op in ternet werken maar met simpele types echter kom ik hier niet verder mee.

Graag hoop ik dat ik er samen met jullie en goede server voor kan maken.

Met Vriendelijke Groet,
Mark
Gewijzigd op 26/03/2013 11:09:26 door Mark H
 
PHP hulp

PHP hulp

27/11/2024 19:47:18
 
Mark H

Mark H

12/04/2013 10:04:46
Quote Anchor link
BUMP
--------
Hoi,

Is er iemand die mij kan helpen?

Mark
 
Koen Hollander

Koen Hollander

12/04/2013 10:18:48
Quote Anchor link
Google op SOAP PHP, eerste hit: http://php.net/manual/en/book.soap.php

En je zal dit maar eens moeten bekijken : http://qooqle.nl/?q=SOAP+PHP
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.