Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je souhaiterai mettre en place un webservice SOAP pour une application zend.
Pour test:
Dans application, j'ai un controller pour le soap SOAPcontroller qui contient deux actions SoapAction et CreateWSDLAction:
<?php namespace Application\Controller; ini_set("soap.wsdl_cache_enabled", "0"); use Zend\Mvc\Controller\AbstractActionController; use Zend\Soap\AutoDiscover as AutoDiscover; use Zend\Soap\Server as SoapServer; use Service\user; require_once "/module/Application/src/Application/Service/user.php"; class SoapController extends AbstractActionController { private $_WSDL_URI = "http://localhost/webservices/application/createWSDL"; private $_WSDL_URIServer = "http://localhost/webservices/application/soap"; public function soapAction() { ini_set('display_errors', 1); ini_set("soap.wsdl_cache_enabled", 0); $options = array(); $wsdl = $this->_WSDL_URI; $server = new SoapServer($wsdl,$options); $server->setClass(new user()); $server->handle(); exit; } /** * Create the WSDL file for display * * @param none * @return string The wsdl xml */ public function createWSDLAction() { ini_set("soap.wsdl_cache_enabled", 0); $autodiscover = new \Zend\Soap\AutoDiscover(); $autodiscover->setClass(new user()) ->setUri($this->_WSDL_URIServer) ->setServiceName('Soap'); $wsdl = $autodiscover->generate(); echo $wsdl->toXml(); exit; } }
la classe user.php est la suivante:
<?php namespace Service; class user { public function method1($inputParam) { $result=""; return $result; } public function method2($inputParam1, $inputParam2) { } } ?>
je génère bien le WSDL avec http://localhost/webservices/application/createWSDL
<?xml version="1.0" encoding="UTF-8"?> -<definitions name="Soap" targetNamespace="http://localhost/webservices/application/soap" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/webservices/application/soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> -<types> <xsd:schema targetNamespace="http://localhost/webservices/application/soap"/> </types> -<portType name="SoapPort"> -<operation name="method1"> <documentation>/***/</documentation> <input message="tns:method1In"/> </operation> -<operation name="method2"> <documentation>/***/</documentation> <input message="tns:method2In"/> </operation> </portType> -<binding type="tns:SoapPort" name="SoapBinding"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/> -<operation name="method1"> <soap:operation soapAction="http://localhost/webservices/application/soap#method1"/> -<input> <soap:body namespace="http://localhost/webservices/application/soap" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/> </input> </operation> -<operation name="method2"> <soap:operation soapAction="http://localhost/webservices/application/soap#method2"/> -<input> <soap:body namespace="http://localhost/webservices/application/soap" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/> </input> </operation> </binding> -<service name="SoapService"> -<port name="SoapPort" binding="tns:SoapBinding"> <soap:address location="http://localhost/webservices/application/soap"/> </port> </service> -<message name="method1In"> <part type="xsd:anyType" name="inputParam"/> </message> -<message name="method2In"> <part type="xsd:anyType" name="inputParam1"/> <part type="xsd:anyType" name="inputParam2"/> </message> </definitions>
Par contre j'ai une erreur lors de l'appel server
<SOAP-ENV:Envelope><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>WSDL</faultcode><faultstring>SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost/webservices/application/createWSDL' : failed to load external entity "http://localhost/webservices/application/createWSDL" </faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
si quelqu'un avait une idée ou un exemple concret de webservices en ZF2 dans un projet.
Hors ligne
Salut, tu as posté dans la mauvaise section ton post à peu de chance d'aboutir a une réponse sur zf2, tu es dans la section zf1 Orkin ou un administrateur s'il passe par là le mettra dans la bonne section.
Hors ligne
désolé j'ai pas fait attention
Hors ligne