added WsdlHandler
This commit is contained in:
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<wsdl:definitions xmlns:types="http://example.com/mimetypes"
|
||||
xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="http://example.com/mimewsdl"
|
||||
xmlns:tns="http://example.com/mimewsdl">
|
||||
|
||||
<wsdl:types>
|
||||
<xsd:schema targetNamespace="http://example.com/mimetypes"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
|
||||
<xsd:complexType name="ClaimDetailType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Name" type="xsd:string"/>
|
||||
<!-- lots of other claim detail stuff -->
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="ClaimRefNo" type="xsd:string"/>
|
||||
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
|
||||
<wsdl:message name="ClaimIn">
|
||||
<wsdl:part name="body" element="types:ClaimDetail"/>
|
||||
<wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ClaimOut">
|
||||
<wsdl:part name="out" element="types:ClaimRefNo"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:portType name="ClaimPortType">
|
||||
<wsdl:operation name="SendClaim">
|
||||
<wsdl:input message="tns:ClaimIn"/>
|
||||
<wsdl:output message="tns:ClaimOut"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<wsdl:binding name="ClaimBinding" type="tns:ClaimPortType">
|
||||
<soapbind:binding style="document"
|
||||
transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="SendClaim">
|
||||
<soapbind:operation soapAction="http://example.com/soapaction"/>
|
||||
<wsdl:input>
|
||||
<mime:multipartRelated>
|
||||
<mime:part>
|
||||
<soapbind:body parts="body" use="literal"/>
|
||||
</mime:part>
|
||||
<mime:part>
|
||||
<mime:content part="ClaimPhoto" type="image/jpeg"/>
|
||||
</mime:part>
|
||||
</mime:multipartRelated>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soapbind:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
</wsdl:definitions>
|
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<wsdl:definitions xmlns:types="http://example.com/mimetypes"
|
||||
xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="http://example.com/mimewsdl"
|
||||
xmlns:tns="http://example.com/mimewsdl">
|
||||
|
||||
<wsdl:types>
|
||||
<xsd:schema targetNamespace="http://example.com/mimetypes"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
|
||||
<xsd:complexType name="ClaimDetailType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Name" type="xsd:string"/>
|
||||
<!-- lots of other claim detail stuff -->
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="ClaimRefNo" type="xsd:string"/>
|
||||
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
|
||||
<wsdl:message name="ClaimIn">
|
||||
<wsdl:part name="body" element="types:ClaimDetail"/>
|
||||
<wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ClaimOut">
|
||||
<wsdl:part name="out" element="types:ClaimRefNo"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:portType name="ClaimPortType">
|
||||
<wsdl:operation name="SendClaim">
|
||||
<wsdl:input message="tns:ClaimIn"/>
|
||||
<wsdl:output message="tns:ClaimOut"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<wsdl:binding name="ClaimBinding" type="tns:ClaimPortType">
|
||||
<soapbind:binding style="document"
|
||||
transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="SendClaim">
|
||||
<soapbind:operation soapAction="http://example.com/soapaction"/>
|
||||
<wsdl:input>
|
||||
<mime:multipartRelated>
|
||||
<mime:part>
|
||||
<soapbind:body parts="body" use="literal"/>
|
||||
</mime:part>
|
||||
<mime:part>
|
||||
<mime:content part="ClaimPhoto" type="image/*"/>
|
||||
</mime:part>
|
||||
</mime:multipartRelated>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soapbind:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
</wsdl:definitions>
|
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<wsdl:definitions xmlns:types="http://example.com/mimetypes"
|
||||
xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="http://example.com/mimewsdl"
|
||||
xmlns:tns="http://example.com/mimewsdl">
|
||||
|
||||
<wsdl:types>
|
||||
<xsd:schema targetNamespace="http://example.com/mimetypes"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
|
||||
<xsd:complexType name="ClaimDetailType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Name" type="xsd:string"/>
|
||||
<!-- lots of other claim detail stuff -->
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:element name="ClaimRefNo" type="xsd:string"/>
|
||||
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
|
||||
<wsdl:message name="ClaimIn">
|
||||
<wsdl:part name="body" element="types:ClaimDetail"/>
|
||||
<wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="ClaimOut">
|
||||
<wsdl:part name="out" element="types:ClaimRefNo"/>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:portType name="ClaimPortType">
|
||||
<wsdl:operation name="SendClaim">
|
||||
<wsdl:input message="tns:ClaimIn"/>
|
||||
<wsdl:output message="tns:ClaimOut"/>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<wsdl:binding name="ClaimBinding" type="tns:ClaimPortType">
|
||||
<soapbind:binding style="document"
|
||||
transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<wsdl:operation name="SendClaim">
|
||||
<soapbind:operation soapAction="http://example.com/soapaction"/>
|
||||
<wsdl:input>
|
||||
<mime:multipartRelated>
|
||||
<mime:part>
|
||||
<soapbind:body parts="body" use="literal"/>
|
||||
</mime:part>
|
||||
<mime:part>
|
||||
<mime:content part="ClaimPhoto" type="*/*"/>
|
||||
</mime:part>
|
||||
</mime:multipartRelated>
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soapbind:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
</wsdl:definitions>
|
48
tests/BeSimple/Tests/SoapCommon/WsdlHandlerTest.php
Normal file
48
tests/BeSimple/Tests/SoapCommon/WsdlHandlerTest.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the BeSimpleSoapBundle.
|
||||
*
|
||||
* (c) Christian Kerl <christian-kerl@web.de>
|
||||
* (c) Francis Besset <francis.besset@gmail.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace BeSimple\Tests\SoapCommon\Soap;
|
||||
|
||||
use BeSimple\SoapCommon\WsdlHandler;
|
||||
|
||||
class WsdlHandlerTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testIsValidMimeTypeType()
|
||||
{
|
||||
$filename = __DIR__.DIRECTORY_SEPARATOR.'Fixtures/WsdlMimeContent.wsdl';
|
||||
$wh = new WsdlHandler($filename, SOAP_1_1);
|
||||
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'text/xml'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'image/gif'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/jpeg'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/gif'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'text/xml'));
|
||||
|
||||
$filename = __DIR__.DIRECTORY_SEPARATOR.'Fixtures/WsdlMimeContent2.wsdl';
|
||||
$wh = new WsdlHandler($filename, SOAP_1_1);
|
||||
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'text/xml'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'image/gif'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/jpeg'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/gif'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'text/xml'));
|
||||
|
||||
$filename = __DIR__.DIRECTORY_SEPARATOR.'Fixtures/WsdlMimeContent3.wsdl';
|
||||
$wh = new WsdlHandler($filename, SOAP_1_1);
|
||||
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'text/xml'));
|
||||
$this->assertFalse($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'body', 'image/gif'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/jpeg'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'image/gif'));
|
||||
$this->assertTrue($wh->isValidMimeTypeType('http://example.com/soapaction', WsdlHandler::BINDING_OPERATION_INPUT, 'ClaimPhoto', 'text/xml'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user