/** * @test * @dataProvider webServicesProvider */ public function callAsync($wsdl, $options, $function, $args, $contains) { $client = $this->factory->create(new Client(), $wsdl, $options); $response = $client->callAsync($function, $args)->wait(); $this->assertNotEmpty($response); foreach ($contains as $contain) { $this->assertArrayHasKey($contain, (array) $response); } }
/** * @test */ public function wsdlMode() { // this wsdl adapted from https://www.w3.org/2001/04/wsws-proceedings/uche/wsdl.html $wsdl = <<<EOD <definitions name="EndorsementSearch" targetNamespace="http://namespaces.snowboard-info.com" xmlns:es="http://www.snowboard-info.com/EndorsementSearch.wsdl" xmlns:esxsd="http://schemas.snowboard-info.com/EndorsementSearch.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" > <!-- omitted types section with content model schema info --> <message name="GetEndorsingBoarderRequest"> <part name="body" element="esxsd:GetEndorsingBoarder"/> </message> <message name="GetEndorsingBoarderResponse"> <part name="body" element="esxsd:GetEndorsingBoarderResponse"/> </message> <portType name="GetEndorsingBoarderPortType"> <operation name="GetEndorsingBoarder"> <input message="es:GetEndorsingBoarderRequest"/> <output message="es:GetEndorsingBoarderResponse"/> </operation> </portType> <binding name="EndorsementSearchSoapBinding" type="es:GetEndorsingBoarderPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetEndorsingBoarder"> <soap:operation soapAction="http://www.snowboard-info.com/EndorsementSearch"/> <input> <soap:body use="literal" namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/> </input> <output> <soap:body use="literal" namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/> </output> <fault> <soap:body use="literal" namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/> </fault> </operation> </binding> <service name="EndorsementSearchService"> <documentation>snowboarding-info.com Endorsement Service</documentation> <port name="GetEndorsingBoarderPort" binding="es:EndorsementSearchSoapBinding"> <soap:address location="http://www.snowboard-info.com/EndorsementSearch"/> </port> </service> </definitions> EOD; $factory = new Factory(); $handlerMock = new MockHandler([new Response('200', [], $wsdl)]); $handler = new HandlerStack($handlerMock); $clientMock = new Client(['handler' => $handler]); $client = $factory->create($clientMock, 'wsdl'); $this->assertTrue($client instanceof SoapClient); }