2016-01-21 14 views
16

Ben opsiyonel başlığıyla bir wsdl var:Bir SOAP Üstbilgisini WSDL'de isteğe bağlı olarak nasıl işaretlerim?

<s:element name="AuthIdentifier" type="tns:AuthIdentifier"/> 
<s:complexType name="AuthIdentifier"> 
    <s:sequence> 
    <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string"/> 
    </s:sequence> 
    <s:anyAttribute/> 
</s:complexType> 

müşteri benim hizmetine bağlanmak ve başlık gerekli olduğunu iddia, bu yüzden bir ile göndermek zorundadır bir entegrasyon yazılımı(tibco) kullanıyor değeri:

<Header.AuthIdentifier> 
    <ns0:AuthIdentifier xmlns:ns0 = "http://www.tal.com/schemas"/> 
</Header.AuthIdentifier> 

İsteğe bağlı nasıl yapabilirim? Böylece tüm başlığı hiç göndermemeye gerek yok mu? minOccurs veya böyle bir şey var mı? Yoksa şimdi olduğu gibi zaten isteğe bağlı mı? "Web Servis Sözleşmesi Tasarım & sürüm oluşturma" göre

+0

Aynı problemi Tibco'da da var. Tamir ettin mi? –

+2

Bu pasaj, Üstbilginin yapısını tanımlar mı? Varsa, 'ı deneyin. –

cevap

3

Thomas Erl vd (ISBN-13: 978-0-13-613517-3) Bölüm 15.4, WSDL içinde tanımlanması SABUN Blokları:

WSDL 1.1 Şartname, bir WSDL belgesinde anlatılan SOAP başlıklarının 'un tüketiciler tarafından dahil edilip edilmeyeceği konusunda açık değildir. WS-I Temel Profili, tüketicilerin bunları dahil etmelerini zorunlu kılarken, , ancak WDL 2.0, tüketicilerin dahil edilmeleri için zorlanmaları gerekip gerekmediği konusunda seçim yapmaları için seçim yapmasını sağlar. Öznitelik wsdl ayarlayabilirsiniz WSDL 2.0 Sayfa 472.

: Tüketiciler bu başlık bloğu içermelidir olmadığını belirtmek için özel SABUN başlık bloğunda = "false" gerektiriyordu.