XML-схема не ограничивает

это файл biodata.xsd

<?xml version="1.0" encoding="utf-8"?>

<xs:schema  elementFormDefault="qualified"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="TestNamespace">

<xs:element name="Biodata">
<xs:complexType>
<xs:sequence>

<xs:element name="insertNameRequest">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

<xs:element name="BiodataPortType"/>
<xs:element name="BiodataBinding"/>
<xs:element name="BiodataService"/>

</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>

это биоданные.wsdl

<?xml version ='1.0' encoding ='UTF-8' ?>

<definitions name="Biodata"targetNamespace="urn:TestNamespace"xmlns="http://schemas.xmlsoap.org/wsdl/"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="TestNamespace"xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>

<import namespace="TestNamespace" location="biodata.xsd"/>

<message name='insertNameRequest'>
<part name='name' element="Biodata"/>
</message>

<portType name='BiodataPortType'>
<operation name='insertName'>
<input message='tns:insertNameRequest'/>
</operation>
</portType>

<binding name='BiodataBinding' type='tns:BiodataPortType'>
<soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
<operation name='insertName'>
<soap:operation soapAction='insertName'/>
<input>
<soap:body use='encoded' namespace='urn:examples:biodata'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</input>
</operation>
</binding>

<service name='BiodataService'>
<port name='BiodataPort' binding='tns:BiodataBinding'>
<soap:address
location='http://localhost/Kevin/FirstWebService/OneWay/server.php'/>
</port>
</service>

</definitions>

server.php

<?php
require 'biodata_functions.php';
//require 'SoapFault.php';

ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$server = new SoapServer("http://localhost/Kevin/FirstWebService/OneWay/biodata.wsdl");
/*$server->addFunction("getName");
*/

$server->addFunction("insertName");
/*$server->addFunction("insertAge");
*/

$server->handle();
?>

клиент-test.php

<?php
$client = new SoapClient("http://localhost/Kevin/FirstWebService/OneWay/biodata.wsdl");
$return = $client->insertName($name);

header("Location: http://localhost/Kevin/FirstWebService/OneWay/client.html");
die();
?>

client.html

<!DOCTYPE html>
<html>
<head>
<title>OneWay</title>
</head>

<form action="client_test.php" method=POST>
NAME:<br>
<input type="text" name="name">
<br>

<input type="Submit" value="Submit">
</form>

</html>

Вопрос: я не могу ограничить использование файла xsd, даже если я объявил максимальную длину 30, это все же входное значение, которое больше 30 … Что-то не так с моим кодом? любая помощь будет оценена, спасибо: D

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]