30 $this->
_markTestAsSoapOnly(
"WSDL generation tests are intended to be executed for SOAP adapter only.");
32 ->getStore()->getCode();
38 $this->_soapUrl =
"{$this->_baseUrl}/soap/{$this->_storeCode}" 39 .
"?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2";
40 $wsdlUrl = $this->_getBaseWsdlUrl() .
'testModule5AllSoapAndRestV1,testModule5AllSoapAndRestV2';
42 $this->isSingleService =
false;
54 $this->_soapUrl =
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2";
55 $wsdlUrl = $this->_getBaseWsdlUrl() .
'testModule5AllSoapAndRestV2';
57 $this->isSingleService =
true;
69 $wsdlUrl = $this->_getBaseWsdlUrl() .
'testModule5AllSoapAndRestV2';
71 curl_setopt(
$connection, CURLOPT_RETURNTRANSFER, 1);
73 $this->assertEquals(curl_getinfo(
$connection, CURLINFO_HTTP_CODE), 401);
74 $this->assertContains(
"The consumer isn't authorized to access %resources.", $responseContent);
80 $this->assertContains(
"Requested services are missing.", $responseContent);
85 $wsdlUrl = $this->_getBaseWsdlUrl() .
'&invalid';
87 $this->assertContains(
"Not allowed parameters", $responseContent);
98 return str_replace([
' ',
"\n",
"\r",
" ",
" "],
'', $xml);
109 $accessCredentials = \Magento\TestFramework\Authentication\OauthHelper::getApiAccessCredentials()[
'key'];
111 curl_setopt(
$connection, CURLOPT_RETURNTRANSFER, 1);
112 curl_setopt(
$connection, CURLOPT_HTTPHEADER, [
'header' =>
"Authorization: Bearer " . $accessCredentials]);
114 $responseDom = new \DOMDocument();
116 $responseDom->loadXML($responseContent),
117 "Valid XML is always expected as a response for WSDL request." 119 return $responseContent;
127 protected function _getBaseWsdlUrl()
131 $wsdlUrl = $soapAdapter->generateWsdlUrl([]);
143 $typesSectionDeclaration = <<< TYPES_SECTION_DECLARATION
145 <xsd:schema targetNamespace=
"{$this->_soapUrl}">
146 TYPES_SECTION_DECLARATION;
148 $this->assertContains(
151 'Types section declaration is invalid' 162 if ($this->isSingleService) {
163 $requestElement = <<< REQUEST_ELEMENT
164 <xsd:element
name=
"testModule5AllSoapAndRestV2ItemRequest" type=
"tns:TestModule5AllSoapAndRestV2ItemRequest"/>
167 $requestElement = <<< REQUEST_ELEMENT
168 <xsd:element
name=
"testModule5AllSoapAndRestV1ItemRequest" type=
"tns:TestModule5AllSoapAndRestV1ItemRequest"/>
171 $this->assertContains(
174 'Request element declaration in types section is invalid' 177 if ($this->isSingleService) {
178 $responseElement = <<< RESPONSE_ELEMENT
179 <xsd:element
name=
"testModule5AllSoapAndRestV2ItemResponse" type=
"tns:TestModule5AllSoapAndRestV2ItemResponse"/>
182 $responseElement = <<< RESPONSE_ELEMENT
183 <xsd:element
name=
"testModule5AllSoapAndRestV1ItemResponse" type=
"tns:TestModule5AllSoapAndRestV1ItemResponse"/>
186 $this->assertContains(
189 'Response element declaration in types section is invalid' 200 if ($this->isSingleService) {
201 $requestType = <<< REQUEST_TYPE
202 <xsd:complexType
name=
"TestModule5AllSoapAndRestV2ItemRequest">
204 <xsd:documentation>Retrieve existing item.</xsd:documentation>
205 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
208 <xsd:element
name=
"id" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:int">
210 <xsd:documentation></xsd:documentation>
211 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
215 <inf:callName>testModule5AllSoapAndRestV2Item</inf:callName>
216 <inf:requiredInput>Yes</inf:requiredInput>
225 $requestType = <<< REQUEST_TYPE
226 <xsd:complexType
name=
"TestModule5AllSoapAndRestV1ItemRequest">
228 <xsd:documentation>Retrieve an item.</xsd:documentation>
229 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
232 <xsd:element
name=
"entityId" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:int">
234 <xsd:documentation></xsd:documentation>
235 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
239 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
240 <inf:requiredInput>Yes</inf:requiredInput>
250 $this->assertContains(
253 'Request type declaration in types section is invalid' 257 if ($this->isSingleService) {
258 $responseType = <<< RESPONSE_TYPE
259 <xsd:complexType
name=
"TestModule5AllSoapAndRestV2ItemResponse">
262 Response container
for the testModule5AllSoapAndRestV2Item call.
264 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
267 <xsd:element
name=
"result" minOccurs=
"1" maxOccurs=
"1" type=
"tns:TestModule5V2EntityAllSoapAndRest">
269 <xsd:documentation></xsd:documentation>
270 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
272 <inf:callName>testModule5AllSoapAndRestV2Item</inf:callName>
273 <inf:returned>Always</inf:returned>
282 $responseType = <<< RESPONSE_TYPE
283 <xsd:complexType
name=
"TestModule5AllSoapAndRestV1ItemResponse">
286 Response container
for the testModule5AllSoapAndRestV1Item call.
288 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
291 <xsd:element
name=
"result" minOccurs=
"1" maxOccurs=
"1" type=
"tns:TestModule5V1EntityAllSoapAndRest">
293 <xsd:documentation></xsd:documentation>
294 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
296 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
297 <inf:returned>Always</inf:returned>
307 $this->assertContains(
310 'Response type declaration in types section is invalid' 324 if ($this->isSingleService) {
325 $referencedType = <<< RESPONSE_TYPE
326 <xsd:complexType
name=
"TestModule5V2EntityAllSoapAndRest">
328 <xsd:documentation>Some Data Object
short description. Data Object
long multi line description.</xsd:documentation>
329 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
332 <xsd:element
name=
"price" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:int">
334 <xsd:documentation></xsd:documentation>
335 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
339 <inf:callName>testModule5AllSoapAndRestV2Item</inf:callName>
340 <inf:callName>testModule5AllSoapAndRestV2Create</inf:callName>
341 <inf:callName>testModule5AllSoapAndRestV2Update</inf:callName>
342 <inf:callName>testModule5AllSoapAndRestV2Delete</inf:callName>
343 <inf:returned>Always</inf:returned>
346 <inf:callName>testModule5AllSoapAndRestV2Create</inf:callName>
347 <inf:callName>testModule5AllSoapAndRestV2Update</inf:callName>
348 <inf:requiredInput>Yes</inf:requiredInput>
357 $referencedType = <<< RESPONSE_TYPE
358 <xsd:complexType
name=
"TestModule5V1EntityAllSoapAndRest">
360 <xsd:documentation>Some Data Object
short description. Data Object
long multi line description.</xsd:documentation>
361 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
364 <xsd:element
name=
"entityId" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:int">
366 <xsd:documentation>Item ID</xsd:documentation>
367 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
371 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
372 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
373 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
374 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
375 <inf:returned>Always</inf:returned>
378 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
379 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
380 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
381 <inf:requiredInput>Yes</inf:requiredInput>
386 <xsd:element
name=
"name" minOccurs=
"0" maxOccurs=
"1" type=
"xsd:string">
388 <xsd:documentation>Item
name</xsd:documentation>
389 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
392 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
393 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
394 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
395 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
396 <inf:returned>Conditionally</inf:returned>
399 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
400 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
401 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
402 <inf:requiredInput>No</inf:requiredInput>
407 <xsd:element
name=
"enabled" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:boolean">
409 <xsd:documentation>If entity is enabled</xsd:documentation>
410 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
411 <inf:
default>
false</inf:
default>
413 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
414 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
415 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
416 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
417 <inf:returned>Conditionally</inf:returned>
420 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
421 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
422 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
423 <inf:requiredInput>No</inf:requiredInput>
428 <xsd:element
name=
"orders" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:boolean">
430 <xsd:documentation>If current entity has a
property defined</xsd:documentation>
431 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
432 <inf:
default>
false</inf:
default>
434 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
435 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
436 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
437 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
438 <inf:returned>Conditionally</inf:returned>
441 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
442 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
443 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
444 <inf:requiredInput>No</inf:requiredInput>
449 <xsd:element
name=
"customAttributes" type=
"tns:ArrayOfFrameworkAttributeInterface" minOccurs=
"0">
451 <xsd:documentation>Custom attributes values.</xsd:documentation>
452 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
453 <inf:natureOfType>array</inf:natureOfType>
455 <inf:callName>testModule5AllSoapAndRestV1Item</inf:callName>
456 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
457 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
458 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
459 <inf:returned>Conditionally</inf:returned>
462 <inf:callName>testModule5AllSoapAndRestV1Create</inf:callName>
463 <inf:callName>testModule5AllSoapAndRestV1Update</inf:callName>
464 <inf:callName>testModule5AllSoapAndRestV1NestedUpdate</inf:callName>
465 <inf:requiredInput>No</inf:requiredInput>
475 $this->assertContains(
478 'Declaration of complex type generated from Data Object, which is referenced in response, is invalid' 489 if ($this->isSingleService) {
490 $firstPortType = <<< FIRST_PORT_TYPE
491 <portType
name=
"testModule5AllSoapAndRestV2PortType">
494 $firstPortType = <<< FIRST_PORT_TYPE
495 <portType
name=
"testModule5AllSoapAndRestV1PortType">
498 $this->assertContains(
501 'Port type declaration is missing or invalid' 504 if (!$this->isSingleService) {
505 $secondPortType = <<< SECOND_PORT_TYPE
506 <portType
name=
"testModule5AllSoapAndRestV2PortType">
508 $this->assertContains(
511 'Port type declaration is missing or invalid' 515 if ($this->isSingleService) {
516 $operationDeclaration = <<< OPERATION_DECLARATION
517 <operation
name=
"testModule5AllSoapAndRestV2Item">
518 <input message=
"tns:testModule5AllSoapAndRestV2ItemRequest"/>
519 <
output message=
"tns:testModule5AllSoapAndRestV2ItemResponse"/>
520 <fault
name=
"GenericFault" message=
"tns:GenericFault"/>
522 <operation
name=
"testModule5AllSoapAndRestV2Items">
523 <input message=
"tns:testModule5AllSoapAndRestV2ItemsRequest"/>
524 <
output message=
"tns:testModule5AllSoapAndRestV2ItemsResponse"/>
525 <fault
name=
"GenericFault" message=
"tns:GenericFault"/>
527 OPERATION_DECLARATION;
529 $operationDeclaration = <<< OPERATION_DECLARATION
530 <operation
name=
"testModule5AllSoapAndRestV2Item">
531 <input message=
"tns:testModule5AllSoapAndRestV2ItemRequest"/>
532 <
output message=
"tns:testModule5AllSoapAndRestV2ItemResponse"/>
533 <fault
name=
"GenericFault" message=
"tns:GenericFault"/>
535 <operation
name=
"testModule5AllSoapAndRestV2Items">
536 <input message=
"tns:testModule5AllSoapAndRestV2ItemsRequest"/>
537 <
output message=
"tns:testModule5AllSoapAndRestV2ItemsResponse"/>
538 <fault
name=
"GenericFault" message=
"tns:GenericFault"/>
540 OPERATION_DECLARATION;
542 $this->assertContains(
545 'Operation in port type is invalid' 556 if ($this->isSingleService) {
557 $firstBinding = <<< FIRST_BINDING
558 <binding
name=
"testModule5AllSoapAndRestV2Binding" type=
"tns:testModule5AllSoapAndRestV2PortType">
559 <soap12:binding style=
"document" transport=
"http://schemas.xmlsoap.org/soap/http"/>
562 $firstBinding = <<< FIRST_BINDING
563 <binding
name=
"testModule5AllSoapAndRestV1Binding" type=
"tns:testModule5AllSoapAndRestV1PortType">
564 <soap12:binding style=
"document" transport=
"http://schemas.xmlsoap.org/soap/http"/>
567 $this->assertContains(
570 'Binding declaration is missing or invalid' 573 if (!$this->isSingleService) {
574 $secondBinding = <<< SECOND_BINDING
575 <binding
name=
"testModule5AllSoapAndRestV2Binding" type=
"tns:testModule5AllSoapAndRestV2PortType">
576 <soap12:binding style=
"document" transport=
"http://schemas.xmlsoap.org/soap/http"/>
578 $this->assertContains(
581 'Binding declaration is missing or invalid' 585 if ($this->isSingleService) {
586 $operationDeclaration = <<< OPERATION_DECLARATION
587 <operation
name=
"testModule5AllSoapAndRestV2Item">
588 <soap12:operation soapAction=
"testModule5AllSoapAndRestV2Item"/>
590 <soap12:body use=
"literal"/>
593 <soap12:body use=
"literal"/>
595 <fault
name=
"GenericFault"/>
597 <operation
name=
"testModule5AllSoapAndRestV2Items">
598 <soap12:operation soapAction=
"testModule5AllSoapAndRestV2Items"/>
600 <soap12:body use=
"literal"/>
603 <soap12:body use=
"literal"/>
605 <fault
name=
"GenericFault"/>
607 OPERATION_DECLARATION;
609 $operationDeclaration = <<< OPERATION_DECLARATION
610 <operation
name=
"testModule5AllSoapAndRestV1Item">
611 <soap12:operation soapAction=
"testModule5AllSoapAndRestV1Item"/>
613 <soap12:body use=
"literal"/>
616 <soap12:body use=
"literal"/>
618 <fault
name=
"GenericFault"/>
620 <operation
name=
"testModule5AllSoapAndRestV1Items">
621 <soap12:operation soapAction=
"testModule5AllSoapAndRestV1Items"/>
623 <soap12:body use=
"literal"/>
626 <soap12:body use=
"literal"/>
628 <fault
name=
"GenericFault"/>
630 OPERATION_DECLARATION;
632 $this->assertContains(
635 'Operation in binding is invalid' 647 if ($this->isSingleService) {
648 $firstServiceDeclaration = <<< FIRST_SERVICE_DECLARATION
649 <service
name=
"testModule5AllSoapAndRestV2Service">
650 <port
name=
"testModule5AllSoapAndRestV2Port" binding=
"tns:testModule5AllSoapAndRestV2Binding">
651 <soap12:address location=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2"/>
654 FIRST_SERVICE_DECLARATION;
656 $firstServiceDeclaration = <<< FIRST_SERVICE_DECLARATION
657 <service
name=
"testModule5AllSoapAndRestV1Service">
658 <port
name=
"testModule5AllSoapAndRestV1Port" binding=
"tns:testModule5AllSoapAndRestV1Binding">
659 <soap12:address location=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2"/>
662 FIRST_SERVICE_DECLARATION;
665 $this->assertContains(
668 'First service section is invalid' 672 if (!$this->isSingleService) {
673 $secondServiceDeclaration = <<< SECOND_SERVICE_DECLARATION
674 <service
name=
"testModule5AllSoapAndRestV2Service">
675 <port
name=
"testModule5AllSoapAndRestV2Port" binding=
"tns:testModule5AllSoapAndRestV2Binding">
676 <soap12:address location=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2"/>
679 SECOND_SERVICE_DECLARATION;
681 $this->assertContains(
684 'Second service section is invalid' 696 $itemMessagesDeclaration = <<< MESSAGES_DECLARATION
697 <message
name=
"testModule5AllSoapAndRestV2ItemRequest">
698 <part
name=
"messageParameters" element=
"tns:testModule5AllSoapAndRestV2ItemRequest"/>
700 <message
name=
"testModule5AllSoapAndRestV2ItemResponse">
701 <part
name=
"messageParameters" element=
"tns:testModule5AllSoapAndRestV2ItemResponse"/>
703 MESSAGES_DECLARATION;
704 $this->assertContains(
707 'Messages section for "item" operation is invalid' 709 $itemsMessagesDeclaration = <<< MESSAGES_DECLARATION
710 <message
name=
"testModule5AllSoapAndRestV2ItemsRequest">
711 <part
name=
"messageParameters" element=
"tns:testModule5AllSoapAndRestV2ItemsRequest"/>
713 <message
name=
"testModule5AllSoapAndRestV2ItemsResponse">
714 <part
name=
"messageParameters" element=
"tns:testModule5AllSoapAndRestV2ItemsResponse"/>
716 MESSAGES_DECLARATION;
717 $this->assertContains(
720 'Messages section for "items" operation is invalid' 742 $faultsInPortType = <<< FAULT_IN_PORT_TYPE
743 <fault
name=
"GenericFault" message=
"tns:GenericFault"/>
745 $this->assertContains(
748 'SOAP Fault section in port type section is invalid' 757 $faultsInBinding = <<< FAULT_IN_BINDING
758 <fault
name=
"GenericFault"/>
760 $this->assertContains(
763 'SOAP Fault section in binding section is invalid' 772 $genericFaultMessage = <<< GENERIC_FAULT_IN_MESSAGES
773 <message
name=
"GenericFault">
774 <part
name=
"messageParameters" element=
"tns:GenericFault"/>
776 GENERIC_FAULT_IN_MESSAGES;
777 $this->assertContains(
780 'Generic SOAP Fault declaration in messages section is invalid' 790 $this->assertContains(
793 'Default SOAP Fault complex type element declaration is invalid' 797 $genericFaultType = <<< GENERIC_FAULT_COMPLEX_TYPE
798 <xsd:complexType
name=
"GenericFault">
800 <xsd:element
name=
"Trace" minOccurs=
"0" maxOccurs=
"1" type=
"xsd:string">
802 <xsd:documentation>Exception calls stack trace.</xsd:documentation>
803 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
808 <xsd:element
name=
"Parameters" type=
"tns:ArrayOfGenericFaultParameter" minOccurs=
"0">
810 <xsd:documentation>Additional exception parameters.</xsd:documentation>
811 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
812 <inf:natureOfType>array</inf:natureOfType>
816 <xsd:element
name=
"WrappedErrors" type=
"tns:ArrayOfWrappedError" minOccurs=
"0">
818 <xsd:documentation>Additional wrapped errors.</xsd:documentation>
819 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
820 <inf:natureOfType>array</inf:natureOfType>
826 GENERIC_FAULT_COMPLEX_TYPE;
827 $this->assertContains(
830 'Default SOAP Fault complex types declaration is invalid' 833 $detailsParameterType = <<< PARAM_COMPLEX_TYPE
834 <xsd:complexType
name=
"GenericFaultParameter">
836 <xsd:element
name=
"key" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:string">
838 <xsd:documentation></xsd:documentation>
839 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
844 <xsd:element
name=
"value" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:string">
846 <xsd:documentation></xsd:documentation>
847 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}">
855 $this->assertContains(
858 'Details parameter complex types declaration is invalid.' 862 if ($this->isSingleService) {
863 $detailsWrappedErrorType = <<< WRAPPED_ERROR_COMPLEX_TYPE
864 <xsd:complexType
name=
"WrappedError">
866 <xsd:element
name=
"message" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:string">
868 <xsd:documentation></xsd:documentation>
869 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2">
874 <xsd:element
name=
"parameters" type=
"tns:ArrayOfGenericFaultParameter" minOccurs=
"0">
876 <xsd:documentation>Message parameters.</xsd:documentation>
877 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2">
878 <inf:natureOfType>array</inf:natureOfType>
884 WRAPPED_ERROR_COMPLEX_TYPE;
886 $detailsWrappedErrorType = <<< WRAPPED_ERROR_COMPLEX_TYPE
887 <xsd:complexType
name=
"WrappedError">
889 <xsd:element
name=
"message" minOccurs=
"1" maxOccurs=
"1" type=
"xsd:string">
891 <xsd:documentation></xsd:documentation>
892 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2">
897 <xsd:element
name=
"parameters" type=
"tns:ArrayOfGenericFaultParameter" minOccurs=
"0">
899 <xsd:documentation>Message parameters.</xsd:documentation>
900 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2">
901 <inf:natureOfType>array</inf:natureOfType>
907 WRAPPED_ERROR_COMPLEX_TYPE;
910 $this->assertContains(
913 'Details wrapped error complex types declaration is invalid.' 916 $detailsParametersType = <<< PARAMETERS_COMPLEX_TYPE
917 <xsd:complexType
name=
"ArrayOfGenericFaultParameter">
919 <xsd:documentation>An array of GenericFaultParameter items.</xsd:documentation>
920 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
923 <xsd:element
name=
"item" minOccurs=
"0" maxOccurs=
"unbounded" type=
"tns:GenericFaultParameter">
925 <xsd:documentation>An item of ArrayOfGenericFaultParameter.</xsd:documentation>
926 <xsd:appinfo xmlns:inf=
"{$this->_soapUrl}"/>
931 PARAMETERS_COMPLEX_TYPE;
933 $this->assertContains(
936 'Details parameters (array of parameters) complex types declaration is invalid.' 939 if ($this->isSingleService) {
941 $detailsWrappedErrorsType = <<< WRAPPED_ERRORS_COMPLEX_TYPE
942 <xsd:complexType
name=
"ArrayOfWrappedError">
944 <xsd:documentation>An array of WrappedError items.</xsd:documentation>
945 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2"/>
948 <xsd:element
name=
"item" minOccurs=
"0" maxOccurs=
"unbounded" type=
"tns:WrappedError">
950 <xsd:documentation>An item of ArrayOfWrappedError.</xsd:documentation>
951 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV2"/>
956 WRAPPED_ERRORS_COMPLEX_TYPE;
958 $detailsWrappedErrorsType = <<< WRAPPED_ERRORS_COMPLEX_TYPE
959 <xsd:complexType
name=
"ArrayOfWrappedError">
961 <xsd:documentation>An array of WrappedError items.</xsd:documentation>
962 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2"/>
965 <xsd:element
name=
"item" minOccurs=
"0" maxOccurs=
"unbounded" type=
"tns:WrappedError">
967 <xsd:documentation>An item of ArrayOfWrappedError.</xsd:documentation>
968 <xsd:appinfo xmlns:inf=
"{$this->_baseUrl}/soap/{$this->_storeCode}?services=testModule5AllSoapAndRestV1%2CtestModule5AllSoapAndRestV2"/>
973 WRAPPED_ERRORS_COMPLEX_TYPE;
977 $this->assertContains(
980 'Details wrapped errors (array of wrapped errors) complex types declaration is invalid.'
_checkFaultsPortTypeSection($wsdlContent)
_checkFaultsMessagesSection($wsdlContent)
output($string, $level=INFO, $label='')
_checkTypesDeclaration($wsdlContent)
_checkFaultsComplexTypeSection($wsdlContent)
_checkFaultsBindingSection($wsdlContent)
_getWebApiAdapter($webApiAdapterCode)
_checkMessagesDeclaration($wsdlContent)
_checkServiceDeclaration($wsdlContent)
_checkBindingDeclaration($wsdlContent)
testNoAuthorizedServices()
_checkComplexTypesDeclaration($wsdlContent)
testInvalidWsdlUrlInvalidParameter()
_convertXmlToString($xml)
_getWsdlContent($wsdlUrl)
_checkFaultsDeclaration($wsdlContent)
testInvalidWsdlUrlNoServices()
_checkPortTypeDeclaration($wsdlContent)
_checkElementsDeclaration($wsdlContent)
_checkReferencedTypeDeclaration($wsdlContent)
_markTestAsSoapOnly($message=null)
static getObjectManager()