<docRequest>
<email></email>
<telefon></telefon>
<miasto></miasto>
</docRequest>
Conajmniej jedno z pól email, telefon, miasto musi zostać wypełnione
Dziękuję za pomoc.
Osobiście uważam że Twoje podejście jest trochę bez sensu. WSDL to
tylko pewna definicja która pomaga wołać webserwisy, ale tak na prawdę
w ogóle nie jest potrzebna do wołania owych usług. Jak ktoś będzie
chciał to i tak sobie zawoła Twoją usługę bez WSDLa. Zmierzam do tego,
że walidację powinieneś zrobić właśnie po stronie usługi, a w WSDLu
najwyżej dopisać obsługę odpowiednich wyjątków.
A jeśli mimo wszystko chcesz to zrobić po stronie WSDLa to ja nie wiem
jak takie coś zrobić ;)
Pozdrawiam, Tomek
Cześć,
Tego rodzaju rzeczy nie definiuje się w WSDLu (z różnych powodów,
choćby takiego, że usługi opisane za pomocą dokumentów WSDL mogą
wymieniać komunikaty o dowolnej strukturze - nie tylko XML, a i te
komunikaty mogą być opisane za pomocą dowolnych języków - nawet w
przypadku XML nie musi to być tylko XML Schema). To co chcesz zrobić
odnosi się do schematu dokumentu XML, czyli jedną z właściwych
technologii będzie tu XML Schema.
Oczywiście, WSDL będzie się odnosił do tego schematu, więc koniec-
końców ta informacja będzie "w WSDL" :-)
Nawet jeśli miałbyś taką walidację obsługiwać (lub nie) "w
webService", to i tak warto informację o wymaganych typach przekazać w
WSDL, bo WSDL to kontrakt między klientem usługi a jej dostawcą -
upraszczam trochę, ale WSDL można rozumieć jako interfejs plus
dodatkowe informacje (security, itp.). Im bardziej kontrakt
precyzyjny, tym lepiej (będziesz mieć mniej telefonów od ludzi
chcących z Twojego web service'u skorzystać).
Weź także pod uwagę, że najczęściej implementacje web service'ów
domyślnie nie dokonują walidacji komunikatów - trzeba tę walidację
włączyć (dodatkowo walidację może robić zarówno web service klient,
jak i web service provider - także jednocześnie).
Pozdrawiam,
Waldek Kot
> Mianowicie nie wiem jak zdefiniowa� w WSDL, �e w przypadku trech p�l
Hej!
Po kr�tkim research'u: takie co� powinno da� rad�:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="docRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:group ref="opcje" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:group name="opcje">
<xsd:choice>
<xsd:element name="email"/>
<xsd:element name="telefon"/>
<xsd:element name="miasto"/>
</xsd:choice>
</xsd:group>
</xsd:schema>
W grupie "opcje" wyst�pi dok�adnie jedna z trzech mo�liwo�ci
(xsd:choice). minOccurs w xsd:group wymusza przynajmniej jeden element.
Pozdrawiam!
--
yacoll
$> cd pub
$> more beer
Dziękuję za konkretną odpowiedz, właśnie tego potrzebowałem.
Pozdrawiam!
Nie wiem jak to sie ma do WSDL, ja robi�em tak� konstrukcje w XSD:
<xs:choice>
<xs:sequence>
<xs:element name="email" maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="telefon" maxOccurs="1"
minOccurs="0"></xs:element>
<xs:element name="miasto" maxOccurs="1"
minOccurs="0"></xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="telefon" maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element name="miasto" maxOccurs="1"
minOccurs="0"></xs:element>
<xs:element name="email" maxOccurs="1" minOccurs="0"></xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="miasto" maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="email" maxOccurs="1" minOccurs="0"></xs:element>
<xs:element name="telefon" maxOccurs="1"
minOccurs="0"></xs:element>
</xs:sequence>
</xs:choice>
i by�em zadowolony ze mi sie walidacja z automatu robi.
pozdr Filozof71
U�ytkownik "poshbilly" <jare...@gmail.com> napisa� w wiadomo�ci
news:af260920-e014-41a9...@c28g2000yqd.googlegroups.com...
Witam,
Musz� wystawi� WSDL i mam problem z jedn� spraw�.
Mianowicie nie wiem jak zdefiniowa� w WSDL, �e w przypadku trech p�l
conajmniej jedno jest wymagane.
Nie chcia�bym obs�ugiwa� tego w webServicie, mam nadziej�, �e da to
si� za�atwi� w definicji WSDLa.
<docRequest>
<email></email>
<telefon></telefon>
<miasto></miasto>
</docRequest>
Conajmniej jedno z p�l email, telefon, miasto musi zosta� wype�nione
Dzi�kuj� za pomoc.