• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

WS-I Basic Profile 1.1 Validation

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have copied section 4.4.3 from the Final Material of Basic Profile Version 1.1 published on 2006-04-10 far below:

It would be very helpful if the following questions could be answered:
1. Is it against BP1.1 to have multiple part elements within a message element?
2. Will the first incorrect example below be correct if it is something like this?
<message name="GetTradePriceInput">
<part name="tickerSymbol" element="tns:abc"/>
<part name="time" element="tns:efg"/>
</message>
3. Where can I get the working tool to validate WSDL against BP 1.1?

-----------------------------------
4.4.3 Declaration of part Elements
Examples 4 and 5 in WSDL 1.1 Section 3.1 incorrectly show the use of XML Schema types (e.g. "xsd:string") as a valid value for the element attribute of a wsdl:part element.
R2206 A wsdl:message in a DESCRIPTION containing a wsdl:part that uses the element attribute MUST refer, in that attribute, to a global element declaration.
For example,
INCORRECT:
<message name="GetTradePriceInput">
<part name="tickerSymbol" element="xsd:string"/>
<part name="time" element="xsd:timeInstant"/>
</message>
INCORRECT:
<message name="GetTradePriceInput">
<part name="tickerSymbol" element="xsd:string"/>
</message>
CORRECT:
<message name="GetTradePriceInput">
<part name="body" element="tns:SubscribeToQuotes"/>
</message>
 
Ranch Hand
Posts: 1183
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Web Services Description Language (WSDL) 1.1 shows -



Meaning, multiple parts are allowed.

Regards,
Dan
 
Jdaniel Jackson
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I understand that multiple parts are allowed according to wsdl11.xsd. However, it looks like WS-I Basic Profile 1.1 does not. Is that correct? Also, would you know where I can find a working tool that converts wsdl file that's written in 1.1 to 2.0?

thanks,
 
Ranch Hand
Posts: 2198
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi!
First, validating a WSDL against the Basic Profile:
The WS-I has a command-line tool: http://www.ws-i.org/deliverables/workinggroup.aspx?wg=testingtools
A more attractive alternative may be soapUI: http://www.soapui.org/userguide/interfaces/wsi.html
Eclipse also has a WSDL validator that can validate against the Basic Profile: http://wiki.eclipse.org/Using_the_WSDL_Validator_Outside_of_Eclipse

Second, converting a WSDL 1.1 to a WSDL 2.0 document:
Check this blog post that describes how to do it using Woden: http://ssagara.blogspot.com/2009/01/converting-wsdl11-to-wsdl20-using-woden.html

Third, your questions about multiple parts within a message:
It is, as far as I understand, allowed and here is the motivation:
The BP disallows multiple elements in the body of a SOAP message, true, but if you use RPC/Literal or Document/Literal wrapped, then the multiple parts of the message will be wrapped in a wrapper and the result will be one single element (perhaps with many child elements) in the body of the SOAP message.
What section 4.4.3 talks about is when you should use the type attribute in the <part> element and when you should use the element attribute, also in the <part> element. In short, the element attribute must always refer to a global XML schema element, while the type attribute is used to refer to XML <simpleType> or <complexType> declarations.
Best wishes!
reply
    Bookmark Topic Watch Topic
  • New Topic