рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдИ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдШрдВрдЯреЛрдВ рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SOAP рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
Zend_Soap_AutoDiscover рд╡рд░реНрдЧред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ Zend_Soap_AutoDiscover рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдХреЛрдб рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░
eAccelerator рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ред рдЕрд░реНрдерд╛рддреН, рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП,
ReflectionClass :: getDocComment () рд╡рд┐рдзрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди ... рдкрд╣рд▓реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред
99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ SOAP рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд╛рд░реА
WSDL рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрдмреНрд▓реНрдпреВрдПрд╕рдбреАрдПрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН Zend_Soap_AutoDiscover (рдРрд╕реА рдЕрдлрд╡рд╛рд╣реЗрдВ рд╣реИрдВ рдХрд┐
PEAR SOAP рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдХреБрдЫ рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛)ред
рдореИрдВ
Zend_Soap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдпрд╣ рд╕рдм
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдпрд╛ рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
, рдпрд╣рд╛рдВ ред
Zend_Soap_AutoDiscover рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдХреНрдпрд╛ рд╣реИ? рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЙрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрдмреНрд▓реНрдпреВрдПрд╕рдбреАрдПрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, WSDL рдХреЛ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ - Zend_Soap_AutoDiscover рдбреЗрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PHPDoc рдХреА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рд╕рд░рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 3 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ:
рд╕рд╛рдмреБрди- client.php - SOAP рд╕реЗрд╡рд╛ рдЧреНрд░рд╛рд╣рдХ
рд╕рд╛рдмреБрди- server.php - SOAP рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╕реЛрдк-рд╕рд░реНрд╡рд░-рдореЙрдбрд▓ред рдПрдлрдкреА - рд╡рд╣ рд╡рд░реНрдЧ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрд╕рдУрдПрдкреА рд╕реЗрд╡рд╛ рдмрдиреА рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕реВрдЪреА рд╕рд░рд▓ рдФрд░ рд╕рд░рд▓ рд╣реИ рдФрд░ рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд╕рд╛рдмреБрди- client.php :
- requirement_once 'Zend / Soap / Client.php' ;
- $ wsdlUri = 'http: //localhost/soap-server.php ; wsdl' ;
- рдХреЛрд╢рд┐рд╢ рдХрд░реЛ {
- $ рдЧреНрд░рд╛рд╣рдХ = рдирдпрд╛ Zend_Soap_Client ($ wsdlUri);
- рдЗрдХреЛ $ рдХреНрд▓рд╛рдЗрдВрдЯ-> рд╢реЛрд╕реНрдЯреЛрдорд┐рдВрдЧ ( 'рдкрд░реАрдХреНрд╖рдг' , 46);
- рдЧреВрдВрдЬ '<br />' ;
- рдЧреВрдВрдЬ 'рдЕрдВрдд' ;
- } рдкрдХрдбрд╝ (рдЕрдкрд╡рд╛рдж $ рдИ) {
- рдЧреВрдВрдЬ 'рддреНрд░реБрдЯрд┐:' ред $ e-> getMessage ();
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рд╛рдмреБрди- server.php :
- рдЖрд╡рд╢реНрдпрдХрддрд╛_рдСрди 'рд╕реЛрдк-рд╕рд░реНрд╡рд░-рдореЙрдбрд▓ ред рдПрдлрдкреА' ;
- $ wsdlUri = 'http: //localhost/soap-server.php ; wsdl' ;
- рдЕрдЧрд░ (isset ($ _ GET [ 'wsdl' ])) {
- requirement_once 'Zend / Soap / AutoDiscover.php' ;
- $ рдСрдЯреЛрдбрд┐рд╕реНрдХрд╡рд░ = рдирдпрд╛ Zend_Soap_AutoDiscover ();
- $ рдСрдЯреЛрдбрд┐рд╕реНрдХрд╡рд░-> рд╕реЗрдЯрдХреНрд▓рд╛рд╕ ( 'рд╕реЛрдкрдореЙрдбрд▓' );
- $ рдСрдЯреЛрдбрд┐рд╕реНрдХрд╡рд░-> рд╕рдВрднрд╛рд▓ ();
- } {
- requirement_once 'Zend / Soap / Server.php' ;
- $ рд╕рд╛рдмреБрди = рдирдпрд╛ Zend_Soap_Server ($ wsdlUri);
- $ рд╕рд╛рдмреБрди-> рд╕реЗрдЯрдХреНрд▓рд╛рд╕ ( 'рд╕реЛрдкрдореЙрдбрд▓' );
- $ рд╕рд╛рдмреБрди-> рд╕рдВрднрд╛рд▓ ();
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рд╛рдмреБрди-рд╕рд░реНрд╡рд░- model.php :
- рд╡рд░реНрдЧ SoapModel
- {
- / **
- * ZAP_Soap_AutoDiscover рдХреЗ рд╕рд╛рде SOAP рд╕рд░реНрд╡рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐
- *
- * рдкрд░рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ $ рд╢рдмреНрдж
- * рдкрд░рдо рдЗрдВрдЯ $ рдирдВрдм
- * рд╡рд╛рдкрд╕реА рд╕реНрдЯреНрд░рд┐рдВрдЧ
- * /
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдкреНрд░рджрд░реНрд╢рди ($ рд╢рдмреНрдж, $ рд╕рдВрдЦреНрдпрд╛)
- {
- рд╡рд╛рдкрд╕реА 'рд╕рд░реНрд╡рд░ рдиреЗ рдХрд╣рд╛:' ред $ рд╢рдмреНрджред '' ред $ рд╕рдВрдЦреНрдпрд╛;
- }
- }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
Php.ini рдореЗрдВ , SOAP рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл) рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
[рд╕рд╛рдмреБрди]
рд╕рд╛рдмреБрдирд╡реЗрджрд▓_рдХрдЪ_рдирд╣реАрдВ = реж
рд╕рд╛рдмреБрдирд╡реЗрджрд▓_рдЪрдЪреЗ_рджрд┐рд░ = "/ tmp"
рд╕рд╛рдмреБрдирд╡реЗрджрд▓_рдХрдЪреЗ_рддреБрд▓ = резcрежрежреж
рд╕рд╛рдмреБрдирд╡реЗрджрд▓_рдХрдЪреЗ_рдорд╛рд▓рд┐рдд = реж
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, WSDL рдХреИрд╢рд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдкреЗрдХреНрд╖рд┐рдд "рд╕рд░реНрд╡рд░ рдиреЗ рдХрд╣рд╛: рдкрд░реАрдХреНрд╖рдг 46" рд╣рдо рдХреЗрд╡рд▓ "рдЕрдВрдд" рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдо рд▓реМрдЯреЗ рд╣реБрдП WSDL рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ URL рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ:
localhost / рд╕рд╛рдмреБрди-server.php; Wsdl & a = 1 ), рдФрд░ рдЬреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ:
- <? xml рд╕рдВрд╕реНрдХрд░рдг = "1.0" ? >
- < рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ xmlns = " schemas.xmlsoap.org/wsdl " xmlns: tns = " localhost / рд╕рд╛рдмреБрди- server.php " xmlns: рд╕рд╛рдмреБрди = " schemas.xmlsoap.org/wsl/soap " xmlns: xsd = " www.w3ред org / 2001 / XMLSchema " xmlns: рд╕рд╛рдмреБрди- рдПрдирдХ =" schemas.xmlsoap.org/soap/encoding " xmlns: wsdl =" schemas.xmlsoap.org/wsdl " name =" SoapModel " targetNamespace =" localhost / рд╕рд╛рдмреБрди-рд╕рд░реНрд╡рд░ред php тАЭ >
- < рдкреНрд░рдХрд╛рд░ >
- < xsd: schema targetNamespace = " localhost / рд╕рд╛рдмреБрди- server.php " />
- </ рдкреНрд░рдХрд╛рд░ >
- < portType name = "SoapModelPort" >
- < рдСрдкрд░реЗрд╢рди рдирд╛рдо = "showSomething" >
- < рдкреНрд░рд▓реЗрдЦрди > Zend_Soap_AutoDiscover рдХреЗ рд╕рд╛рде SOAP рд╕рд░реНрд╡рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ </ рдкреНрд░рд▓реЗрдЦрди >
- < рдЗрдирдкреБрдЯ рд╕рдВрджреЗрд╢ = "tns: showSomethingIn" />
- < рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрджреЗрд╢ = "tns: showSomethingOut" />
- </ рдСрдкрд░реЗрд╢рди >
- </ portType >
- < рдмрд╛рдзреНрдпрдХрд╛рд░реА рдирд╛рдо = "SoapModelBinding" рдкреНрд░рдХрд╛рд░ = "tns: SoapModelPort" >
- < рд╕рд╛рдмреБрди: рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ = " рдЖрд░рдкреАрд╕реА " рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ = " рд╕реНрдХреАрдорд╛ред xmlsoap.org/soap/http " />
- < рдСрдкрд░реЗрд╢рди рдХрд╛ рдирд╛рдо = "showSomething" > < рд╕рд╛рдмреБрди: рдСрдкрд░реЗрд╢рди рд╕рд╛рдмреБрдирдПрдХреНрд╢рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕рд╛рдмреБрди- server.php # showSomething " />
- < рдЗрдирдкреБрдЯ >
- < рд╕рд╛рдмреБрди: рд╢рд░реАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ = "рдПрдиреНрдХреЛрдбреЗрдб" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ = " рд╕реНрдХреАрдорд╛рд╕ред xmlsoap.org/soap/encoding " рдирд╛рдорд╕реНрдерд╛рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк- рд╕рд░реНрд╡рд░ред рдПрдлрдкреА " />
- </ рдЗрдирдкреБрдЯ >
- < рдЖрдЙрдЯрдкреБрдЯ >
- < рд╕рд╛рдмреБрди: рд╢рд░реАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ = "рдПрдиреНрдХреЛрдбреЗрдб" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ = " рд╕реНрдХреАрдорд╛рд╕ред xmlsoap.org/soap/encoding " рдирд╛рдорд╕реНрдерд╛рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк- рд╕рд░реНрд╡рд░ред рдПрдлрдкреА " />
- </ рдЖрдЙрдЯрдкреБрдЯ >
- </ рдСрдкрд░реЗрд╢рди >
- </ рдмрдВрдзрди >
- < рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо = "SoapModelService" >
- < port name = "SoapModelPort" рдмрд╛рдЗрдВрдбрд┐рдВрдЧ = "tns: SoapModelBinding" >
- < рд╕рд╛рдмреБрди: рдкрддрд╛ рд╕реНрдерд╛рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк-рд╕рд░реНрд╡рд░. рдПрдлрдкреА " />
- </ рдкреЛрд░реНрдЯ >
- </ рд╕реЗрд╡рд╛ >
- < рд╕рдВрджреЗрд╢ рдХрд╛ рдирд╛рдо = "showSomethingIn" >
- < рднрд╛рдЧ рдХрд╛ рдирд╛рдо = "рд╢рдмреНрдж" рдкреНрд░рдХрд╛рд░ = "xsd: string" />
- < part name = "рд╕рдВрдЦреНрдпрд╛" рдкреНрд░рдХрд╛рд░ = "xsd: int" />
- </ рд╕рдВрджреЗрд╢ >
- < рд╕рдВрджреЗрд╢ рдХрд╛ рдирд╛рдо = "showSomethingOut" >
- < рднрд╛рдЧ рдХрд╛ рдирд╛рдо = "рд╡рд╛рдкрд╕реА" рдкреНрд░рдХрд╛рд░ = "xsd: string" />
- </ рд╕рдВрджреЗрд╢ >
- </ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ >
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- <? xml рд╕рдВрд╕реНрдХрд░рдг = "1.0" ? >
- < рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ xmlns = " schemas.xmlsoap.org/wsdl " xmlns: tns = " localhost / рд╕рд╛рдмреБрди- server.php " xmlns: рд╕рд╛рдмреБрди = " schemas.xmlsoap.org/wsl/soap " xmlns: xsd = " www.w3ред org / 2001 / XMLSchema " xmlns: рд╕рд╛рдмреБрди- рдПрдирдХ =" schemas.xmlsoap.org/soap/encoding " xmlns: wsdl =" schemas.xmlsoap.org/wsdl " name =" SoapModel " targetNamespace =" localhost / рд╕рд╛рдмреБрди-рд╕рд░реНрд╡рд░ред php тАЭ >
- < рдкреНрд░рдХрд╛рд░ >
- < xsd: schema targetNamespace = " localhost / рд╕рд╛рдмреБрди- server.php " />
- </ рдкреНрд░рдХрд╛рд░ >
- < portType name = "SoapModelPort" >
- < рдСрдкрд░реЗрд╢рди рдирд╛рдо = "showSomething" >
- < рдкреНрд░рд▓реЗрдЦрди > рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА </ рдкреНрд░рд▓реЗрдЦрди >
- < рдЗрдирдкреБрдЯ рд╕рдВрджреЗрд╢ = "tns: showSomethingIn" />
- </ рдСрдкрд░реЗрд╢рди >
- </ portType >
- < рдмрд╛рдзреНрдпрдХрд╛рд░реА рдирд╛рдо = "SoapModelBinding" рдкреНрд░рдХрд╛рд░ = "tns: SoapModelPort" >
- < рд╕рд╛рдмреБрди: рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ = " рдЖрд░рдкреАрд╕реА " рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ = " рд╕реНрдХреАрдорд╛ред xmlsoap.org/soap/http " />
- < рдСрдкрд░реЗрд╢рди рдирд╛рдо = "showSomething" >
- < рд╕рд╛рдмреБрди: рдСрдкрд░реЗрд╢рди рд╕рд╛рдмреБрдирдПрд╢рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк-рд╕рд░реНрд╡рд░. рдПрдлрдкреА # рд╢реЛ-рдЯрд╛рдЗрдорд┐рдВрдЧ " />
- < рдЗрдирдкреБрдЯ >
- < рд╕рд╛рдмреБрди: рд╢рд░реАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ = "рдПрдиреНрдХреЛрдбреЗрдб" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ = " рд╕реНрдХреАрдорд╛рд╕ред xmlsoap.org/soap/encoding " рдирд╛рдорд╕реНрдерд╛рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк- рд╕рд░реНрд╡рд░ред рдПрдлрдкреА " />
- </ рдЗрдирдкреБрдЯ >
- </ рдСрдкрд░реЗрд╢рди >
- </ рдмрдВрдзрди >
- < рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо = "SoapModelService" >
- < port name = "SoapModelPort" рдмрд╛рдЗрдВрдбрд┐рдВрдЧ = "tns: SoapModelBinding" >
- < рд╕рд╛рдмреБрди: рдкрддрд╛ рд╕реНрдерд╛рди = " рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ / рд╕реЛрдк-рд╕рд░реНрд╡рд░. рдПрдлрдкреА " />
- </ рдкреЛрд░реНрдЯ >
- </ рд╕реЗрд╡рд╛ >
- < рд╕рдВрджреЗрд╢ рдХрд╛ рдирд╛рдо = "showSomethingIn" >
- < part name = "word" type = "xsd: anyType" />
- < part name = "рд╕рдВрдЦреНрдпрд╛" рдкреНрд░рдХрд╛рд░ = "xsd: anyType" />
- </ рд╕рдВрджреЗрд╢ >
- </ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ >
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдЦрд░рд╛рдмреА рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл рдУ рдУ рдХреЗ рдореИрдиреБрдЕрд▓ рдФрд░ рдЪреАрдЦ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдИрдПрдХреНрд▓реЗрд░реЗрдЯрд░ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? Zend_Soap_AutoDiscover рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ
рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдореИрдХреЗрдирд┐рдЬрд╝реНрдо (рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП,
Zend_Server_Reflection class рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ) рд╡рд┐рдзрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред eAccelerator, рдмрджрд▓реЗ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдкрд╣рд▓реА рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдирд┐рдореНрди рдкрд░реЗрд╢рд╛рдиреА рд╣реИред рддрд╛рд░реНрдХрд┐рдХ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдирд┐рд░рд░реНрдердХред
рдЙрдкрд╛рдп рдХреНрдпрд╛ рд╣реИрдВ?
1. рдЗрдирдХрд╛рд░ eAcceleratorред рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рдХреА - рдПрдкреАрд╕реА рдХреЗ рд╕рд╛рде рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА)ред
2. рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП eAccelerator рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
ini_set ('eaccelerator.filter', '! рд╕рд╛рдмреБрди-рд╕рд░реНрд╡рд░-рдореЙрдбрд▓.php');
3.
red_pilot рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рдорд╛рдзрд╛рди: рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди, eAccelerator рдХреЛ eacelerator-doc-comment-inclusion рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЬреЛ рд╣реИ:
./configure -with-eaccelerator- рдбреЙрдХ-рдЯрд┐рдкреНрдкрдгреА-рд╕рдорд╛рд╡реЗрд╢
PS рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдВрдХреЗрддрд┐рдд рд╕рдорд╕реНрдпрд╛ "рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ Zend рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬреЛ eAccelerator рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ" рд╣реИред рдпрджреНрдпрдкрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА, рд░рд┐рдлреНрд▓реЗрдХреНрд╢рдВрд╕ рдореИрдХреЗрдирд┐рдЬреНрдо (
ReflectionClass :: getDocComment () ) рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛ рд╕рдХрддреА рд╣реИрдВред
PSS рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ, eAccelerator рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╣реБрдд рдХрдо рд╣реА рдЬрдм рдХреЛрдИ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдХреЛрдб рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреИрд░-рддреБрдЪреНрдЫ рддрд░реАрдХреЗ рд╕реЗ рдЙрддреНрдкрд╛рджрди рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
PSSS Zend_Soap , рдЕрдиреНрдп Zend рдШрдЯрдХреЛрдВ рдХреА рддрд░рд╣, рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рд╣реА рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ 3 ZF рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН Zend_Db, Zend_Form рдФрд░ Zend_Soapред рдФрд░ рдЕрдЧрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ Zend_Soap_AutoDiscover рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ ZF рдкрд░ рд╣реЛред рдпрд╣ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬреЗрдбрдПрдл рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рдЪ рдореЗрдВ, рд╕реБрдкрд░-рдЙрдкрдпреЛрдЧреА Zend_Soap_AutoDiscover рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдиреНрдпрдерд╛ Zend_Soap рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд╛рдмреБрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╕рд╛рдмреБрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╣реИрд░рд╛рди рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореВрд▓ рд╕рд╛рдмреБрди рдХреЛ
Zend_Soap_Client рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред