_[_W_3_C_] ************ WWeebb SSeerrvviicceess DDeessccrriippttiioonn LLaanngguuaaggee ((WWSSDDLL)) VVeerrssiioonn 22..00 PPaarrtt 11:: CCoorree LLaanngguuaaggee ************ ********** WW33CC WWoorrkkiinngg DDrraafftt 2266 MMaarrcchh 22000044 ********** This version: _h_t_t_p_:_/_/_w_w_w_._w_3_._o_r_g_/_T_R_/_2_0_0_4_/_W_D_-_w_s_d_l_2_0_-_2_0_0_4_0_3_2_6 Latest version: _h_t_t_p_:_/_/_w_w_w_._w_3_._o_r_g_/_T_R_/_w_s_d_l_2_0 Previous versions: _h_t_t_p_:_/_/_w_w_w_._w_3_._o_r_g_/_T_R_/_2_0_0_3_/_W_D_-_w_s_d_l_2_0_-_2_0_0_3_1_1_1_0 Editors: Roberto Chinnici, Sun Microsystems Martin Gudgin, Microsoft Jean-Jacques Moreau, Canon Jeffrey Schlimmer, Microsoft Sanjiva Weerawarana, IBM Research This document is also available in these non-normative formats: _p_o_s_t_s_c_r_i_p_t, _P_D_F, _X_M_L, and _p_l_a_i_n_ _t_e_x_t. _C_o_p_y_r_i_g_h_t © 2004 _W_3_C® (_M_I_T, _E_R_C_I_M, _K_e_i_o), All Rights Reserved. W3C _l_i_a_b_i_l_i_t_y, _t_r_a_d_e_m_a_r_k, _d_o_c_u_m_e_n_t_ _u_s_e and _s_o_f_t_w_a_r_e_ _l_i_c_e_n_s_i_n_g rules apply. =============================================================================== ********** AAbbssttrraacctt ********** This document describes the Web Services Description Language (WSDL) Version 2.0, an XML language for describing Web services. This specification defines the core language which can be used to describe Web services based on an abstract model of what the service offers. It also defines criteria for a conformant processor of this language. ********** SSttaattuuss ooff tthhiiss DDooccuummeenntt ********** TThhiiss sseeccttiioonn ddeessccrriibbeess tthhee ssttaattuuss ooff tthhiiss ddooccuummeenntt aatt tthhee ttiimmee ooff iittss ppuubblliiccaattiioonn.. OOtthheerr ddooccuummeennttss mmaayy ssuuppeerrsseeddee tthhiiss ddooccuummeenntt.. AA lliisstt ooff ccuurrrreenntt WW33CC ppuubblliiccaattiioonnss aanndd tthhee llaatteesstt rreevviissiioonn ooff tthhiiss tteecchhnniiccaall rreeppoorrtt ccaann bbee ffoouunndd iinn tthhee _WW_33_CC_ _tt_ee_cc_hh_nn_ii_cc_aa_ll_ _rr_ee_pp_oo_rr_tt_ss_ _ii_nn_dd_ee_xx aatt hhttttpp::////wwwwww..ww33..oorrgg//TTRR//.. This is a _W_3_C_ _W_o_r_k_i_n_g_ _D_r_a_f_t of the Web Services Description Language (WSDL) 2.0 document. A _d_i_f_f_-_m_a_r_k_e_d_ _v_e_r_s_i_o_n_ _a_g_a_i_n_s_t_ _t_h_e_ _p_r_e_v_i_o_u_s_ _v_e_r_s_i_o_n_ _o_f_ _t_h_i_s_ _d_o_c_u_m_e_n_t is available. For a detailed list of changes since the last publication of this document, please refer to appendix _FF_.._ _PP_aa_rr_tt_ _11_ _CC_hh_aa_nn_gg_ee_ _LL_oo_gg. A _l_i_s_t_ _o_f_ _o_p_e_n_ _i_s_s_u_e_s _a_g_a_i_n_s_t_ _t_h_i_s_ _d_o_c_u_m_e_n_t is also available. This document has been produced as part of the _W_3_C_ _W_e_b_ _S_e_r_v_i_c_e_s_ _A_c_t_i_v_i_t_y. The authors of this document are the _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _W_o_r_k_i_n_g_ _G_r_o_u_p members. Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress. Comments on this document are invited and are to be sent to the public _w_w_w_-_w_s_- _d_e_s_c_@_w_3_._o_r_g mailing list (_p_u_b_l_i_c_ _a_r_c_h_i_v_e). This document has been produced under the _2_4_ _J_a_n_u_a_r_y_ _2_0_0_2_ _C_u_r_r_e_n_t_ _P_a_t_e_n_t _P_r_a_c_t_i_c_e as amended by the _W_3_C_ _P_a_t_e_n_t_ _P_o_l_i_c_y_ _T_r_a_n_s_i_t_i_o_n_ _P_r_o_c_e_d_u_r_e. Patent disclosures relevant to this specification may be found on the Working Group's _p_a_t_e_n_t_ _d_i_s_c_l_o_s_u_r_e_ _p_a_g_e. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with _s_e_c_t_i_o_n_ _6_ _o_f _t_h_e_ _W_3_C_ _P_a_t_e_n_t_ _P_o_l_i_c_y. =============================================================================== ********** SShhoorrtt TTaabbllee ooff CCoonntteennttss ********** 1. _I_n_t_r_o_d_u_c_t_i_o_n 2. _C_o_m_p_o_n_e_n_t_ _M_o_d_e_l 3. _T_y_p_e_s 4. _M_o_d_u_l_a_r_i_z_i_n_g_ _W_S_D_L_ _d_e_s_c_r_i_p_t_i_o_n_s 5. _D_o_c_u_m_e_n_t_a_t_i_o_n 6. _L_a_n_g_u_a_g_e_ _E_x_t_e_n_s_i_b_i_l_i_t_y 7. _L_o_c_a_t_i_n_g_ _W_S_D_L_ _D_o_c_u_m_e_n_t_s 8. _C_o_n_f_o_r_m_a_n_c_e 9. _X_M_L_ _S_y_n_t_a_x_ _S_u_m_m_a_r_y_ _(_N_o_n_-_N_o_r_m_a_t_i_v_e_) 10. _R_e_f_e_r_e_n_c_e_s A. _T_h_e_ _a_p_p_l_i_c_a_t_i_o_n_/_w_s_d_l_+_x_m_l_ _M_e_d_i_a_ _T_y_p_e B. _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_s (Non-Normative) C. _U_R_I_ _R_e_f_e_r_e_n_c_e_s_ _f_o_r_ _W_S_D_L_ _c_o_n_s_t_r_u_c_t_s (Non-Normative) D. _M_i_g_r_a_t_i_n_g_ _f_r_o_m_ _W_S_D_L_ _1_._1_ _t_o_ _W_S_D_L_ _2_._0 (Non-Normative) E. _E_x_a_m_p_l_e_s_ _o_f_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ _o_f_ _E_x_t_e_n_s_i_o_n_ _E_l_e_m_e_n_t_s_ _f_o_r_ _A_l_t_e_r_n_a_t_i_v_e_ _S_c_h_e_m_a _L_a_n_g_u_a_g_e_ _S_u_p_p_o_r_t_. (Non-Normative) F. _P_a_r_t_ _1_ _C_h_a_n_g_e_ _L_o_g (Non-Normative) =============================================================================== ********** TTaabbllee ooff CCoonntteennttss ********** 1. _I_n_t_r_o_d_u_c_t_i_o_n 1.1 _W_e_b_ _S_e_r_v_i_c_e 1.2 _N_o_t_a_t_i_o_n_a_l_ _C_o_n_v_e_n_t_i_o_n_s 2. _C_o_m_p_o_n_e_n_t_ _M_o_d_e_l 2.1 _D_e_f_i_n_i_t_i_o_n_s 2.1.1 _T_h_e_ _D_e_f_i_n_i_t_i_o_n_s_ _C_o_m_p_o_n_e_n_t 2.1.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _D_e_f_i_n_i_t_i_o_n_s_ _C_o_m_p_o_n_e_n_t 2.1.2.1 _t_a_r_g_e_t_N_a_m_e_s_p_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 2.1.3 _M_a_p_p_i_n_g_ _D_e_f_i_n_i_t_i_o_n_s_'_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.2 _I_n_t_e_r_f_a_c_e 2.2.1 _T_h_e_ _I_n_t_e_r_f_a_c_e_ _C_o_m_p_o_n_e_n_t 2.2.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _I_n_t_e_r_f_a_c_e_ _C_o_m_p_o_n_e_n_t 2.2.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_t_e_r_f_a_c_e_ _[_o_w_n_e_r_] 2.2.2.2 _e_x_t_e_n_d_s_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 2.2.2.3 _s_t_y_l_e_D_e_f_a_u_l_t_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 2.2.3 _M_a_p_p_i_n_g_ _I_n_t_e_r_f_a_c_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.3 _I_n_t_e_r_f_a_c_e_ _F_a_u_l_t 2.3.1 _T_h_e_ _I_n_t_e_r_f_a_c_e_ _F_a_u_l_t_ _C_o_m_p_o_n_e_n_t 2.3.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _I_n_t_e_r_f_a_c_e_ _F_a_u_l_t_ _C_o_m_p_o_n_e_n_t 2.3.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_a_u_l_t_ _[_o_w_n_e_r_] 2.3.2.2 _e_l_e_m_e_n_t_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_a_u_l_t_ _[_o_w_n_e_r_] 2.3.3 _M_a_p_p_i_n_g_ _I_n_t_e_r_f_a_c_e_ _F_a_u_l_t_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.4 _I_n_t_e_r_f_a_c_e_ _O_p_e_r_a_t_i_o_n 2.4.1 _T_h_e_ _I_n_t_e_r_f_a_c_e_ _O_p_e_r_a_t_i_o_n_ _C_o_m_p_o_n_e_n_t 2.4.1.1 _O_p_e_r_a_t_i_o_n_ _S_t_y_l_e 2.4.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _I_n_t_e_r_f_a_c_e_ _O_p_e_r_a_t_i_o_n_ _C_o_m_p_o_n_e_n_t 2.4.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _o_p_e_r_a_t_i_o_n_ _[_o_w_n_e_r_] 2.4.2.2 _p_a_t_t_e_r_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _o_p_e_r_a_t_i_o_n_ _[_o_w_n_e_r_] 2.4.2.3 _s_t_y_l_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _o_p_e_r_a_t_i_o_n_ _[_o_w_n_e_r_] 2.4.2.4 _s_a_f_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _o_p_e_r_a_t_i_o_n_ _[_o_w_n_e_r_] 2.4.3 _M_a_p_p_i_n_g_ _I_n_t_e_r_f_a_c_e_ _O_p_e_r_a_t_i_o_n_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.4.4 _R_P_C_ _S_t_y_l_e 2.4.4.1 _w_r_p_c_:_s_i_g_n_a_t_u_r_e_ _E_x_t_e_n_s_i_o_n 2.4.4.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _t_h_e_ _w_r_p_c_:_s_i_g_n_a_t_u_r_e_ _E_x_t_e_n_s_i_o_n 2.4.4.3 _w_r_p_c_:_s_i_g_n_a_t_u_r_e_ _E_x_t_e_n_s_i_o_n_ _M_a_p_p_i_n_g_ _T_o_ _P_r_o_p_e_r_t_i_e_s_ _o_f_ _a_n _I_n_t_e_r_f_a_c_e_ _O_p_e_r_a_t_i_o_n_ _C_o_m_p_o_n_e_n_t 2.5 _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e 2.5.1 _T_h_e_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.5.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.5.2.1 _m_e_s_s_a_g_e_L_a_b_e_l_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_p_u_t_,_ _o_r _o_u_t_p_u_t_ _[_o_w_n_e_r_] 2.5.2.2 _e_l_e_m_e_n_t_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_p_u_t_,_ _o_r_ _o_u_t_p_u_t_ _[_o_w_n_e_r_] 2.5.3 _M_a_p_p_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.6 _F_a_u_l_t_ _R_e_f_e_r_e_n_c_e 2.6.1 _T_h_e_ _F_a_u_l_t_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.6.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _F_a_u_l_t_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.6.2.1 _r_e_f_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_f_a_u_l_t_,_ _o_r_ _o_u_t_f_a_u_l_t_ _[_o_w_n_e_r_] 2.6.2.2 _m_e_s_s_a_g_e_L_a_b_e_l_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_f_a_u_l_t_,_ _o_r _o_u_t_f_a_u_l_t_ _[_o_w_n_e_r_] 2.6.3 _M_a_p_p_i_n_g_ _F_a_u_l_t_ _R_e_f_e_r_e_n_c_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.7 _F_e_a_t_u_r_e 2.7.1 _T_h_e_ _F_e_a_t_u_r_e_ _C_o_m_p_o_n_e_n_t 2.7.1.1 _F_e_a_t_u_r_e_ _C_o_m_p_o_s_i_t_i_o_n_ _M_o_d_e_l 2.7.1.1.1 _E_x_a_m_p_l_e_ _o_f_ _F_e_a_t_u_r_e_ _C_o_m_p_o_s_i_t_i_o_n_ _M_o_d_e_l 2.7.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _F_e_a_t_u_r_e_ _C_o_m_p_o_n_e_n_t 2.7.2.1 _u_r_i_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_e_a_t_u_r_e_ _[_o_w_n_e_r_] 2.7.2.2 _r_e_q_u_i_r_e_d_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_e_a_t_u_r_e_ _[_o_w_n_e_r_] 2.7.3 _M_a_p_p_i_n_g_ _F_e_a_t_u_r_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.8 _P_r_o_p_e_r_t_y 2.8.1 _T_h_e_ _P_r_o_p_e_r_t_y_ _C_o_m_p_o_n_e_n_t 2.8.1.1 _P_r_o_p_e_r_t_y_ _C_o_m_p_o_s_i_t_i_o_n_ _M_o_d_e_l 2.8.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _P_r_o_p_e_r_t_y_ _C_o_m_p_o_n_e_n_t 2.8.2.1 _u_r_i_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _p_r_o_p_e_r_t_y_ _[_o_w_n_e_r_] 2.8.2.2 _r_e_q_u_i_r_e_d_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_e_a_t_u_r_e_ _[_o_w_n_e_r_] 2.8.2.3 _v_a_l_u_e_ _e_l_e_m_e_n_t_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _p_r_o_p_e_r_t_y_ _[_p_a_r_e_n_t_] 2.8.2.4 _c_o_n_s_t_r_a_i_n_t_ _e_l_e_m_e_n_t_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _p_r_o_p_e_r_t_y_ _[_p_a_r_e_n_t_] 2.8.3 _M_a_p_p_i_n_g_ _P_r_o_p_e_r_t_y_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.9 _B_i_n_d_i_n_g 2.9.1 _T_h_e_ _B_i_n_d_i_n_g_ _C_o_m_p_o_n_e_n_t 2.9.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _B_i_n_d_i_n_g_ _C_o_m_p_o_n_e_n_t 2.9.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _b_i_n_d_i_n_g_ _[_o_w_n_e_r_] 2.9.2.2 _i_n_t_e_r_f_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _b_i_n_d_i_n_g_ _[_o_w_n_e_r_] 2.9.2.3 _B_i_n_d_i_n_g_ _e_x_t_e_n_s_i_o_n_ _e_l_e_m_e_n_t_s 2.9.3 _M_a_p_p_i_n_g_ _B_i_n_d_i_n_g_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.10 _B_i_n_d_i_n_g_ _F_a_u_l_t 2.10.1 _T_h_e_ _B_i_n_d_i_n_g_ _F_a_u_l_t_ _C_o_m_p_o_n_e_n_t 2.10.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _B_i_n_d_i_n_g_ _F_a_u_l_t_ _C_o_m_p_o_n_e_n_t 2.10.2.1 _r_e_f_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _f_a_u_l_t_ _[_o_w_n_e_r_] 2.10.2.2 _B_i_n_d_i_n_g_ _F_a_u_l_t_ _e_x_t_e_n_s_i_o_n_ _e_l_e_m_e_n_t_s 2.10.3 _M_a_p_p_i_n_g_ _B_i_n_d_i_n_g_ _F_a_u_l_t_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.11 _B_i_n_d_i_n_g_ _O_p_e_r_a_t_i_o_n 2.11.1 _T_h_e_ _B_i_n_d_i_n_g_ _O_p_e_r_a_t_i_o_n_ _C_o_m_p_o_n_e_n_t 2.11.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _B_i_n_d_i_n_g_ _O_p_e_r_a_t_i_o_n_ _C_o_m_p_o_n_e_n_t 2.11.2.1 _r_e_f_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _o_p_e_r_a_t_i_o_n_ _[_o_w_n_e_r_] 2.11.2.2 _B_i_n_d_i_n_g_ _O_p_e_r_a_t_i_o_n_ _e_x_t_e_n_s_i_o_n_ _e_l_e_m_e_n_t_s 2.11.3 _M_a_p_p_i_n_g_ _B_i_n_d_i_n_g_ _O_p_e_r_a_t_i_o_n_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t _P_r_o_p_e_r_t_i_e_s 2.12 _B_i_n_d_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e 2.12.1 _T_h_e_ _B_i_n_d_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.12.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _B_i_n_d_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _C_o_m_p_o_n_e_n_t 2.12.2.1 _m_e_s_s_a_g_e_L_a_b_e_l_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_p_u_t_ _o_r _o_u_t_p_u_t_ _[_o_w_n_e_r_] 2.12.2.2 _B_i_n_d_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _e_x_t_e_n_s_i_o_n_ _e_l_e_m_e_n_t_s 2.12.3 _M_a_p_p_i_n_g_ _B_i_n_d_i_n_g_ _M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.13 _S_e_r_v_i_c_e 2.13.1 _T_h_e_ _S_e_r_v_i_c_e_ _C_o_m_p_o_n_e_n_t 2.13.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _S_e_r_v_i_c_e_ _C_o_m_p_o_n_e_n_t 2.13.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _s_e_r_v_i_c_e_ _[_o_w_n_e_r_] 2.13.2.2 _i_n_t_e_r_f_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _s_e_r_v_i_c_e_ _[_o_w_n_e_r_] 2.13.3 _M_a_p_p_i_n_g_ _S_e_r_v_i_c_e_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.14 _E_n_d_p_o_i_n_t 2.14.1 _T_h_e_ _E_n_d_p_o_i_n_t_ _C_o_m_p_o_n_e_n_t 2.14.2 _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _o_f_ _E_n_d_p_o_i_n_t_ _C_o_m_p_o_n_e_n_t 2.14.2.1 _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _e_n_d_p_o_i_n_t_ _[_o_w_n_e_r_] 2.14.2.2 _b_i_n_d_i_n_g_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _e_n_d_p_o_i_n_t_ _[_o_w_n_e_r_] 2.14.2.3 _E_n_d_p_o_i_n_t_ _e_x_t_e_n_s_i_o_n_ _e_l_e_m_e_n_t_s 2.14.3 _M_a_p_p_i_n_g_ _E_n_d_p_o_i_n_t_'_s_ _X_M_L_ _R_e_p_r_e_s_e_n_t_a_t_i_o_n_ _t_o_ _C_o_m_p_o_n_e_n_t_ _P_r_o_p_e_r_t_i_e_s 2.15 _E_q_u_i_v_a_l_e_n_c_e_ _o_f_ _C_o_m_p_o_n_e_n_t_s 2.16 _S_y_m_b_o_l_ _S_p_a_c_e_s 2.17 _Q_N_a_m_e_ _r_e_s_o_l_u_t_i_o_n 2.18 _C_o_m_p_a_r_i_n_g_ _U_R_I_s 3. _T_y_p_e_s 3.1 _U_s_i_n_g_ _W_3_C_ _X_M_L_ _S_c_h_e_m_a_ _D_e_s_c_r_i_p_t_i_o_n_ _L_a_n_g_u_a_g_e 3.1.1 _I_m_p_o_r_t_i_n_g_ _X_M_L_ _S_c_h_e_m_a 3.1.1.1 _n_a_m_e_s_p_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 3.1.1.2 _s_c_h_e_m_a_L_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 3.1.2 _E_m_b_e_d_d_i_n_g_ _X_M_L_ _S_c_h_e_m_a 3.1.2.1 _t_a_r_g_e_t_N_a_m_e_s_p_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 3.1.3 _R_e_f_e_r_e_n_c_e_s_ _t_o_ _E_l_e_m_e_n_t_ _D_e_c_l_a_r_a_t_i_o_n_s 3.2 _U_s_i_n_g_ _O_t_h_e_r_ _S_c_h_e_m_a_ _L_a_n_g_u_a_g_e_s 4. _M_o_d_u_l_a_r_i_z_i_n_g_ _W_S_D_L_ _d_e_s_c_r_i_p_t_i_o_n_s 4.1 _I_n_c_l_u_d_i_n_g_ _D_e_s_c_r_i_p_t_i_o_n_s 4.1.1 _l_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_n_c_l_u_d_e_ _[_o_w_n_e_r_] 4.2 _I_m_p_o_r_t_i_n_g_ _D_e_s_c_r_i_p_t_i_o_n_s 4.2.1 _n_a_m_e_s_p_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 4.2.2 _l_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m_ _w_i_t_h_ _i_m_p_o_r_t_ _[_o_w_n_e_r_] 5. _D_o_c_u_m_e_n_t_a_t_i_o_n 6. _L_a_n_g_u_a_g_e_ _E_x_t_e_n_s_i_b_i_l_i_t_y 6.1 _E_l_e_m_e_n_t_ _b_a_s_e_d_ _E_x_t_e_n_s_i_b_i_l_i_t_y 6.1.1 _M_a_n_d_a_t_o_r_y_ _e_x_t_e_n_s_i_o_n_s 6.1.2 _r_e_q_u_i_r_e_d_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 6.2 _A_t_t_r_i_b_u_t_e_-_b_a_s_e_d_ _E_x_t_e_n_s_i_b_i_l_i_t_y 6.3 _E_x_t_e_n_s_i_b_i_l_i_t_y_ _S_e_m_a_n_t_i_c_s 7. _L_o_c_a_t_i_n_g_ _W_S_D_L_ _D_o_c_u_m_e_n_t_s 7.1 _w_s_d_l_i_:_w_s_d_l_L_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m 8. _C_o_n_f_o_r_m_a_n_c_e 8.1 _D_o_c_u_m_e_n_t_ _C_o_n_f_o_r_m_a_n_c_e 8.2 _X_M_L_ _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t_ _C_o_n_f_o_r_m_a_n_c_e 8.3 _P_r_o_c_e_s_s_o_r_ _C_o_n_f_o_r_m_a_n_c_e 9. _X_M_L_ _S_y_n_t_a_x_ _S_u_m_m_a_r_y_ _(_N_o_n_-_N_o_r_m_a_t_i_v_e_) 10. _R_e_f_e_r_e_n_c_e_s 10.1 _N_o_r_m_a_t_i_v_e_ _R_e_f_e_r_e_n_c_e_s 10.2 _I_n_f_o_r_m_a_t_i_v_e_ _R_e_f_e_r_e_n_c_e_s ******** AAppppeennddiicceess ******** A. _T_h_e_ _a_p_p_l_i_c_a_t_i_o_n_/_w_s_d_l_+_x_m_l_ _M_e_d_i_a_ _T_y_p_e A.1 _R_e_g_i_s_t_r_a_t_i_o_n A.2 _S_e_c_u_r_i_t_y_ _c_o_n_s_i_d_e_r_a_t_i_o_n_s B. _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_s (Non-Normative) C. _U_R_I_ _R_e_f_e_r_e_n_c_e_s_ _f_o_r_ _W_S_D_L_ _c_o_n_s_t_r_u_c_t_s (Non-Normative) C.1 _W_S_D_L_ _U_R_I_s C.2 _F_r_a_g_m_e_n_t_ _I_d_e_n_t_i_f_i_e_r_s C.3 _E_x_t_e_n_s_i_o_n_ _E_l_e_m_e_n_t_s C.4 _E_x_a_m_p_l_e D. _M_i_g_r_a_t_i_n_g_ _f_r_o_m_ _W_S_D_L_ _1_._1_ _t_o_ _W_S_D_L_ _2_._0 (Non-Normative) D.1 _O_p_e_r_a_t_i_o_n_ _O_v_e_r_l_o_a_d_i_n_g D.2 _P_o_r_t_T_y_p_e_s D.3 _P_o_r_t_s E. _E_x_a_m_p_l_e_s_ _o_f_ _S_p_e_c_i_f_i_c_a_t_i_o_n_s_ _o_f_ _E_x_t_e_n_s_i_o_n_ _E_l_e_m_e_n_t_s_ _f_o_r_ _A_l_t_e_r_n_a_t_i_v_e_ _S_c_h_e_m_a _L_a_n_g_u_a_g_e_ _S_u_p_p_o_r_t_. (Non-Normative) E.1 _D_T_D E.1.1 _n_a_m_e_s_p_a_c_e_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m E.1.2 _l_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m E.1.3 _R_e_f_e_r_e_n_c_e_s_ _t_o_ _E_l_e_m_e_n_t_ _D_e_f_i_n_i_t_i_o_n_s E.2 _R_E_L_A_X_ _N_G E.2.1 _I_m_p_o_r_t_i_n_g_ _R_E_L_A_X_ _N_G E.2.1.1 _n_s_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m E.2.1.2 _h_r_e_f_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m E.2.2 _E_m_b_e_d_d_i_n_g_ _R_E_L_A_X_ _N_G E.2.2.1 _n_s_ _a_t_t_r_i_b_u_t_e_ _i_n_f_o_r_m_a_t_i_o_n_ _i_t_e_m E.2.3 _R_e_f_e_r_e_n_c_e_s_ _t_o_ _E_l_e_m_e_n_t_ _D_e_c_l_a_r_a_t_i_o_n_s F. _P_a_r_t_ _1_ _C_h_a_n_g_e_ _L_o_g (Non-Normative) F.1 _W_S_D_L_ _S_p_e_c_i_f_i_c_a_t_i_o_n_ _C_h_a_n_g_e_s =============================================================================== 11.. IInnttrroodduuccttiioonn Web Services Description Language (WSDL) provides a model and an XML format for describing Web services. WSDL enables one to separate the description of the abstract functionality offered by a service from concrete details of a service description such as "how" and "where" that functionality is offered. This specification defines a language for describing the abstract functionality of a service as well as a framework for describing the concrete details of a service description. It also defines criteria for a conformant processor of this language. The WWSSDDLL VVeerrssiioonn 22..00 PPaarrtt 22:: MMeessssaaggee EExxcchhaannggee PPaatttteerrnnss specification [_W_S_D_L_ _2_._0_ _M_e_s_s_a_g_e_ _E_x_c_h_a_n_g_e_ _P_a_t_t_e_r_n_s] defines the sequence and cardinality of abstract messages sent or received by an operation. The WWSSDDLL VVeerrssiioonn 22..00 PPaarrtt 33:: BBiinnddiinnggss specification [_W_S_D_L_ _2_._0_ _B_i_n_d_i_n_g_s] defines a language for describing such concrete details for SOAP 1.2 [_S_O_A_P_ _1_._2_ _P_a_r_t_ _1_: _M_e_s_s_a_g_i_n_g_ _F_r_a_m_e_w_o_r_k], HTTP [_I_E_T_F_ _R_F_C_ _2_6_1_6] and MIME [_I_E_T_F_ _R_F_C_ _2_0_4_5]. 11..11 WWeebb SSeerrvviiccee WSDL describes a Web service in two fundamental stages: one abstract and one concrete. Within each stage, the description uses a number of constructs to promote reusability of the description and separate independent design concerns. At an abstract level, WSDL describes a Web service in terms of the messages it sends and receives; messages are described independent of a specific wire format using a type system, typically XML Schema. An ooppeerraattiioonn associates a message exchange pattern with one or more messages. A mmeessssaaggee eexxcchhaannggee ppaatttteerrnn identifies the sequence and cardinality of messages sent and/or received as well as who they are logically sent to and/or received from. An iinntteerrffaaccee groups together operations without any commitment to transport or wire format. At a concrete level, a bbiinnddiinngg specifies transport and wire format details for one or more interfaces. An eennddppooiinntt associates a network address with a binding. And finally, a sseerrvviiccee groups together endpoints that implement a common interface. 11..22 NNoottaattiioonnaall CCoonnvveennttiioonnss The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [_I_E_T_F_ _R_F_C_ _2_1_1_9]. This specification uses properties from the XML Information Set [_X_M_L _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t]. Such properties are denoted by square brackets, e.g. [namespace name]. This specification uses namespace prefixes throughout; they are listed in _T_a_b_l_e _1_-_1. Note that the choice of any namespace prefix is arbitrary and not semantically significant (see [_X_M_L_ _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t]). _ _ _ _ _ _ _ _ _TT_aa_bb_ll_ee_ _11_--_11_.._ _PP_rr_ee_ff_ii_xx_ee_ss_ _aa_nn_dd_ _NN_aa_mm_ee_ss_pp_aa_cc_ee_ss_ _uu_ss_ee_dd_ _ii_nn_ _tt_hh_ii_ss_ _ss_pp_ee_cc_ii_ff_ii_cc_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ |_PP_rr_ee_ff_ii_xx_ _|_NN_aa_mm_ee_ss_pp_aa_cc_ee_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_NN_oo_tt_ee_ss_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |A normative XML Schema [_X_M_L | | | |_S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], [_X_M_L_ _S_c_h_e_m_a_: | | | |_D_a_t_a_t_y_p_e_s] document for the "http:| | | |//www.w3.org/2004/03/wsdl" | | | |namespace can be found at _h_t_t_p_:_/_/ | | | |_w_w_w_._w_3_._o_r_g_/_2_0_0_4_/_0_3_/_w_s_d_l. WSDL | |wsdl |"http://www.w3.org/2004/03/wsdl" |documents that do NOT conform to | | | |this schema are not valid WSDL | | | |documents. WSDL documents that DO | | | |conform to this schema and also | | | |conform to the other constraints | | | |defined in this specification are | |_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_v_a_l_i_d_ _W_S_D_L_ _d_o_c_u_m_e_n_t_s_._ _ _ _ _ _ _ _ _ _ _ _ _ | | | |A normative XML Schema [_X_M_L | | | |_S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], [_X_M_L_ _S_c_h_e_m_a_: | | |"http://www.w3.org/2004/03/wsdl- |_D_a_t_a_t_y_p_e_s] document for the "http:| |wsdli |instance" |//www.w3.org/2004/03/wsdl- | | | |instance" namespace can be found | | | |at _h_t_t_p_:_/_/_w_w_w_._w_3_._o_r_g_/_2_0_0_4_/_0_3_/_w_s_d_l_-| |_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_i_n_s_t_a_n_c_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |A normative XML Schema [_X_M_L | | | |_S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], [_X_M_L_ _S_c_h_e_m_a_: | | | |_D_a_t_a_t_y_p_e_s] document for the "http:| | | |//www.w3.org/2004/03/wsdl/rpc" | | | |namespace can be found at _h_t_t_p_:_/_/ | | |"http://www.w3.org/2004/03/wsdl/ |_w_w_w_._w_3_._o_r_g_/_2_0_0_4_/_0_3_/_w_s_d_l_/_r_p_c. WSDL | |wrpc |rpc" |documents that do NOT conform to | | | |this schema are not valid WSDL | | | |documents. WSDL documents that DO | | | |conform to this schema and also | | | |conform to the other constraints | | | |defined in this specification are | |_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_v_a_l_i_d_ _W_S_D_L_ _d_o_c_u_m_e_n_t_s_._ _ _ _ _ _ _ _ _ _ _ _ _ | |wsoap12|"http://www.w3.org/2003/11/wsdl/ | | |_ _ _ _ _ _ _ _|_s_o_a_p_1_2_"_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |Defined by WSDL 2.0: Bindings | |whttp |"http://www.w3.org/2003/11/wsdl/ |[_W_S_D_L_ _2_._0_ _B_i_n_d_i_n_g_s]. | |_ _ _ _ _ _ _ _|_h_t_t_p_"_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_x_s_ _ _ _ _ _|_"_h_t_t_p_:_/_/_w_w_w_._w_3_._o_r_g_/_2_0_0_1_/_X_M_L_S_c_h_e_m_a_"|Defined in the W3C XML Schema | | | |specification [_X_M_L_ _S_c_h_e_m_a_: | |xsi |"http://www.w3.org/2001/XMLSchema-|_S_t_r_u_c_t_u_r_e_s], [_X_M_L_ _S_c_h_e_m_a_: | | |instance" |_D_a_t_a_t_y_p_e_s]. | |_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | Namespace names of the general form "http://example.org/..." and "http:// example.com/..." represent application or context-dependent URIs [_I_E_T_F_ _R_F_C _2_3_9_6]. All parts of this specification are normative, with the EXCEPTION of notes, pseudo-schemas, examples, and sections explicitly marked as "Non-Normative". Pseudo-schemas are provided for each component, before the description of the component. 22.. CCoommppoonneenntt MMooddeell This section describes the conceptual model for WSDL as a set of components with properties, each aspect of a Web service that WSDL can describe having its own property. In addition an XML Infoset representation for these components is provided, along with a mapping from that representation to the various component properties. How the XML Infoset representation of a given set of WSDL components is constructed is outside the scope of this specification. 22..11 DDeeffiinniittiioonnss 22..11..11 TThhee DDeeffiinniittiioonnss CCoommppoonneenntt At the abstract level, the Definitions component is just a container for two categories of components; WSDL components and type system components. WSDL components are interfaces, bindings and services. Type system components are element declarations drawn from some type system. They define the [local name], [namespace name], [children] and [attributes] properties of an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The properties of the Definitions component are as follows: * {interfaces} A set of named interface definitions * {bindings} A set of named binding definitions * {services} A set of named service definitions * {element declarations} A set of named element declarations, each one isomorphic to a global element declaration as defined by XML Schema The set of interfaces/binding/services/etc. available in the Definitions component include those that are defined within the component itself and those that are imported and/or included. Note that at the component model level, there is no distinction between directly defined components vs. imported/ included components. The components directly defined within a single Definitions component are said to belong to the same ttaarrggeett nnaammeessppaaccee. The target namespace therefore groups a set of related component definitions and represents an unambiguous name for the intended semantics of the components. The target namespace URI SHOULD point to a human or machine processable document that directly or indirectly defines the intended semantics of those components. Note that it is RECOMMENDED that the value of the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm SHOULD be a dereferencible URI and that it resolve to a WSDL document which provides service description information for that namespace. If a service description is split into multiple documents (which may be combined as needed via _44_.._11_ _II_nn_cc_ll_uu_dd_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss), then the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm SHOULD resolve to a master document which includes all the WSDL documents needed for that service description. This approach enables the WSDL component designators' fragment identifiers to be properly resolvable. Imported components have different target namespace values from the Definitions component that is importing them. Thus importing is the mechanism to use components from one namespace in another set of definitions. Each WSDL or type system component MUST be uniquely identified by its qualified name. That is, if two distinct components of the same kind (Interface, Binding etc.) are in the same target namespace, then their QNames MUST be unique. However, different kinds of components (e.g., an Interface component and a Binding component) MAY have the same QName. Thus, QNames of components must be unique within the space of those components in a given target namespace. In addition to WSDL components and type system components, additional extension components MAY be added via extensibility _66_.._ _LL_aa_nn_gg_uu_aa_gg_ee_ _EE_xx_tt_ee_nn_ss_ii_bb_ii_ll_ii_tt_yy. Further, additional properties to WSDL and type system components MAY also be added via extensibility. 22..11..22 XXMMLL RReepprreesseennttaattiioonn ooff DDeeffiinniittiioonnss CCoommppoonneenntt ? [ | ]* ? [ | | ]* WSDL definitions are represented in XML by one or more WSDL Information Sets (Infosets), that is one or more definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. A WSDL Infoset contains representations for a collection of WSDL components which share a common target namespace. A WSDL Infoset which contains one or more import eelleemmeenntt iinnffoorrmmaattiioonn iitteemms _44_.._22_ _II_mm_pp_oo_rr_tt_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss corresponds to a collection with components drawn from multiple target namespaces. The targetNamespace URI MUST be an absolute URI (see [_I_E_T_F_ _R_F_C_ _2_3_9_6]). The definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of definitions . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_.._22_.._11_ _tt_aa_rr_gg_ee_tt_NN_aa_mm_ee_ss_pp_aa_cc_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # Zero or more include eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _44_.._11 _II_nn_cc_ll_uu_dd_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss) # Zero or more import eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _44_.._22 _II_mm_pp_oo_rr_tt_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss) # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 3. An OPTIONAL types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _33_.._ _TT_yy_pp_ee_ss). 4. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # interface eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._22_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # binding eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._99_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # service eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_33_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _SS_ee_rr_vv_ii_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..11..22..11 ttaarrggeettNNaammeessppaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm defines the namespace affiliation of top-level components defined in this definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. Interfaces, Bindings and Services are top-level components. The targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of targetNamespace * A [namespace name] which has no value The type of the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. 22..11..33 MMaappppiinngg DDeeffiinniittiioonnss'' XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Definitions component (see _22_.._11_.._11_ _TT_hh_ee _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is described in _T_a_b_l_e_ _2_-_1. TTaabbllee 22--11.. MMaappppiinngg bbeettwweeeenn DDeeffiinniittiioonnss CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The interface definitions corresponding to all the | | |interface eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in the [children] | |{interfaces} |of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, if any, | | |plus any included or imported interface definitions | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_(_s_e_e_ _44_.._ _MM_oo_dd_uu_ll_aa_rr_ii_zz_ii_nn_gg_ _WW_SS_DD_LL_ _dd_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss_)_._ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The binding definitions corresponding to all the | | |binding eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in the [children] of| |{bindings} |the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, if any, plus| | |any included or imported binding definitions (see _44_.. | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_oo_dd_uu_ll_aa_rr_ii_zz_ii_nn_gg_ _WW_SS_DD_LL_ _dd_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss_)_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The service definitions corresponding to all the | | |service eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in the [children] of| |{services} |the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, if any, plus| | |any included or imported service definitions (see _44_.. | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_oo_dd_uu_ll_aa_rr_ii_zz_ii_nn_gg_ _WW_SS_DD_LL_ _dd_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss_)_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The element declaration components corresponding to | | |all the element declarations defined as descendants of| | |the types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, if any, plus any | | |imported element definitions. At a minimum this will | |{element declarations}|include all the global element declarations defined by| | |XML Schema element eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. It MAY | | |also include any definition from some other type | | |system which describes the [local name], [namespace | | |name], [attributes] and [children] properties of an | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..22 IInntteerrffaaccee 22..22..11 TThhee IInntteerrffaaccee CCoommppoonneenntt An Interface component describes sequences of messages that a service sends and/or receives. It does this by grouping related messages into operations. An operation is a sequence of input and output messages, an interface is a set of operations. An interface can optionally extend one or more other interfaces. In such cases the interface contains the operations of the interfaces it extends, along with any operations it defines. The interfaces a given interface extends MUST NOT themselves extend that interface either directly or indirectly. Interfaces are named constructs and can be referred to by QName (see _22_.._11_77_ _QQ_NN_aa_mm_ee _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). For instance, Binding components refer to interfaces in this way. The properties of the Interface component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {target namespace} A namespace name, as defined in [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {extended interfaces} A set of named interface definitions which this interface extends. * {faults} A set of named interface fault definitions. * {operations} A set of named interface operation definitions. * {features} A set of named feature definitions. * {properties} A set of named property definitions. For each Interface component in the {interfaces} property of a definitions container, the combination of {name} and {target namespace} properties MUST be unique. 22..22..22 XXMMLL RReepprreesseennttaattiioonn ooff IInntteerrffaaccee CCoommppoonneenntt ? [ | | | ]* The XML representation for an Interface component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of interface * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._22_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ii_nn_tt_ee_rr_ff_aa_cc_ee_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL extends aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._22_.._22_.._22_ _ee_xx_tt_ee_nn_dd_ss_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm. o An OPTIONAL styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._22_.._22_.._33_ _ss_tt_yy_ll_ee_DD_ee_ff_aa_uu_ll_tt_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # Zero or more fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms _22_.._33_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. # Zero or more operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemms _22_.._44_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. # Zero or more feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemms _22_.._77_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. # Zero or more property eelleemmeenntt iinnffoorrmmaattiioonn iitteemms _22_.._88_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/ wsdl". 22..22..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinntteerrffaaccee [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm together with the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the [parent] definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm forms the QName of the interface. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name * A [namespace name] which has no value The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..22..22..22 eexxtteennddss aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The extends aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm lists the interfaces that this interface derives from. The extends aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of extends * A [namespace name] which has no value The type of the extends aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is a list of xxss::QQNNaammee. 22..22..22..33 ssttyylleeDDeeffaauulltt aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm indicates the default style used to construct the {element} properties of {message references} of all operations contained within the [owner] interface . The styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of styleDefault. * A [namespace name] which has no value. The type of the styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. Moreover, the value of the styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm, if present, MUST be an absolute URI (see [_I_E_T_F_ _R_F_C_ _2_3_9_6]). 22..22..33 MMaappppiinngg IInntteerrffaaccee''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Interface component (see _22_.._22_.._11_ _TT_hh_ee _II_nn_tt_ee_rr_ff_aa_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the interface eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._22_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_2. TTaabbllee 22--22.. MMaappppiinngg bbeettwweeeenn IInntteerrffaaccee CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _n_a_m_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm| | |The actual value of the targetNamespace aattttrriibbuuttee | |{target namespace} |iinnffoorrmmaattiioonn iitteemm of the [parent] definitions eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of interface definitions resolved to by the | | |values in the extends aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm if | |{extended interfaces}|any, plus the set of interface definitions in the | | |{extended interfaces} property of those interface | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_d_e_f_i_n_i_t_i_o_n_s_,_ _o_t_h_e_r_w_i_s_e_ _e_m_p_t_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of interface fault definitions corresponding to| | |the fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in [children], if | |{faults} |any, plus the set of interface fault definitions in the| | |{faults} property of the interface definitions in | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_{_e_x_t_e_n_d_e_d_ _i_n_t_e_r_f_a_c_e_s_}_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of interface operation definitions | | |corresponding to the operation eelleemmeenntt iinnffoorrmmaattiioonn | |{operations} |iitteemms in [children], if any, plus the set of interface | | |operation definitions in the {operations} property of | | |the interface definitions in {extended interfaces}, if | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of feature definitions corresponding to the | | |feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in [children], if | |{features} |any, plus the set of feature definitions in the | | |{features} property of the feature definitions in | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_{_e_x_t_e_n_d_e_d_ _i_n_t_e_r_f_a_c_e_s_}_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of property definitions corresponding to the | | |property eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in [children], if | |{properties} |any, plus the set of property definitions in the | | |{properties} property of the property definitions in | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_{_e_x_t_e_n_d_e_d_ _i_n_t_e_r_f_a_c_e_s_}_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | Note that, per _22_.._22_.._11_ _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt, the Interface components in the {extended interfaces} property of a given Interface component MUST NOT contain that Interface component in any of their {extended interfaces} properties, that is to say, recursive extension of interfaces is disallowed. 22..33 IInntteerrffaaccee FFaauulltt 22..33..11 TThhee IInntteerrffaaccee FFaauulltt CCoommppoonneenntt An Interface Fault component describes a fault that MAY be occur during execution of an operation of the interface. The Interface Fault component declares a fault by naming it and indicating the content or payload of the fault message. When and how the fault message flows is indicated by the Interface Operation component _22_.._44_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn. The reason the Interface Fault component is a property of the Interface component is because that provides a convenient mechanism to declare a set of fault message types and then indicate which operations use those types, thus allowing one to easily indicate that the same fault message type can occur in multiple operations. The properties of the Interface Fault component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {element} A reference to an XML element declaration in the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. This element represents the content or "payload" of the fault. If a non-XML type system is in use (as considered in _33_.._22_ _UU_ss_ii_nn_gg_ _OO_tt_hh_ee_rr_ _SS_cc_hh_ee_mm_aa _LL_aa_nn_gg_uu_aa_gg_ee_ss) then additional properties would need to be added to the Fault Component (along with extensibility attributes to its XML representation) to allow associating such message types with the message reference. For each Interface Fault component in the {faults} property of an Interface component, the combination of {name} and {target namespace} properties must be unique. Interface Fault components are local to Interface components; they cannot be referred to by QName, despite having both {name} and {target namespace} properties. That is, two Interface components sharing the same {target namespace} property but with different {name} properties MAY contain Interface Fault components which share the same {name} property. Thus, the {name} and {target namespace} properties of the Interface Fault components are not sufficient to form the unique identity of an Interface Fault component. To uniquely identify an Interface Fault component one must first identify the Interface component (by QName) and then identify the Interface Fault within that Interface component (by a further QName). In cases where, due to an interface extending one or more other interfaces, two or more Interface Faults components have the same value for their {name} and {target namespace} properties, then the component models of those Interface Fault components MUST be equivalent (see _22_.._11_55_ _EE_qq_uu_ii_vv_aa_ll_ee_nn_cc_ee_ _oo_ff_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ss). If the Interface Fault components are equivalent then they are considered to collapse into a single component. It is an error if two Interface Fault components have the same value for their {name} and {target namespace} properties but are not equivalent. Note that, due to the above rules, if two interfaces that have the same value for their {target namespace} property also have one or more faults that have the same value for their {name} property then those two interfaces cannot both form part of the derivation chain of a derived interface unless those faults are the same fault. NNoottee:: For the above reason, it is considered good practice to ensure, where necessary, that the {name} property of Interface Fault components within a namespace are unique, thus allowing such derivation to occur without inadvertent error. 22..33..22 XXMMLL RReepprreesseennttaattiioonn ooff IInntteerrffaaccee FFaauulltt CCoommppoonneenntt ? The XML representation for an Interface Fault component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of fault * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * Two or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._33_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_aa_uu_ll_tt_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._33_.._22_.._22_ _ee_ll_ee_mm_ee_nn_tt_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_aa_uu_ll_tt_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..33..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffaauulltt [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies a given fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm inside a given interface eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name * A [namespace name] which has no value The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..33..22..22 eelleemmeenntt aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffaauulltt [[oowwnneerr]] The element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm refers, by QName, to an element declaration component. The element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of element . * A [namespace name] which has no value. The type of the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..33..33 MMaappppiinngg IInntteerrffaaccee FFaauulltt''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Interface Fault component (see _22_.._33_.._11 _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._33_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_3. TTaabbllee 22--33.. MMaappppiinngg bbeettwweeeenn IInntteerrffaaccee FFaauulltt CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _ _ _ _ _ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _n_a_m_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ | | |The actual value of the targetNamespace aattttrriibbuuttee | |{target namespace}|iinnffoorrmmaattiioonn iitteemm of the [parent] definitions eelleemmeenntt | | |iinnffoorrmmaattiioonn iitteemm of the [parent] interface eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The element declaration from the {element declarations} | | |property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt resolved to by| | |the value of the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm if | |{element} |present, otherwise empty. It is an error for the element | | |aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm to have a value and for it to | | |not resolve to a global element declaration from the | | |{element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_CC_oo_mm_pp_oo_nn_ee_nn_tt_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..44 IInntteerrffaaccee OOppeerraattiioonn 22..44..11 TThhee IInntteerrffaaccee OOppeerraattiioonn CCoommppoonneenntt An Interface Operation component describes an operation that a given interface supports. An operation is an interaction with the service consisting of a set (ordinary and fault) messages exchanged between the service and the other roles involved in the interaction, in particular the service requestor. The sequencing and cardinality of the messages involved in a particular interaction is governed by the mmeessssaaggee eexxcchhaannggee ppaatttteerrnn used by the operation (see {message exchange pattern} property). A message exchange pattern defines placeholders for messages, the participants in the pattern (i.e., the sources and sinks of the messages), and the cardinality and sequencing of messages exchanged by the participants. The message placeholders are associated with specific message types by the operation that uses the pattern by means of message and fault references (see {message references} and {fault references} properties). The service whose operation is using the pattern becomes one of the participants of the pattern. This specification does not define a machine understandable language for defining message exchange patterns, nor does it define any specific patterns. The companion specification, [_W_S_D_L_ _2_._0_ _M_e_s_s_a_g_e_ _E_x_c_h_a_n_g_e_ _P_a_t_t_e_r_n_s] defines a set of such patterns and defines identifying URIs any of which MAY be used as the value of the {message exchange pattern} property. The properties of the Interface Operation component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {target namespace} A namespace name, as defined in [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {message exchange pattern} A URI identifying the message exchange pattern used by the operation. This URI MUST be an absolute URI (see [_I_E_T_F_ _R_F_C _2_3_9_6]). * {message references} A set of Message Reference components for the ordinary messages the operation accepts or sends. (See _22_.._55_ _MM_ee_ss_ss_aa_gg_ee _RR_ee_ff_ee_rr_ee_nn_cc_ee.) * {fault references} A set of Fault Reference components for the fault messages the operation accepts or sends. (See _22_.._66_ _FF_aa_uu_ll_tt_ _RR_ee_ff_ee_rr_ee_nn_cc_ee.) * {style} A URI identifying the rules that were used to construct the {element} properties of {message references}. (See _22_.._44_.._11_.._11_ _OO_pp_ee_rr_aa_tt_ii_oo_nn _SS_tt_yy_ll_ee.) This URI MUST be an absolute URI (see [_I_E_T_F_ _R_F_C_ _2_3_9_6]). * {safety} A boolean indicating whether the operation is asserted to be safe (as defined in Section 3.5 of [_W_e_b_ _A_r_c_h_i_t_e_c_t_u_r_e]) for users of the described service to invoke. If this property is false or is not set, then no assertion has been made about the safety of the operation, thus the operation MAY or MAY NOT be safe. However, an operation SHOULD be marked safe if it meets the criteria for a safe interaction defined in Section 3.5 of [_W_e_b_ _A_r_c_h_i_t_e_c_t_u_r_e]. The default value of this property is false. * {features} A set of named feature definitions used by the operation * {properties} A set of named property definitions used by the operation For each Interface Operation component in the {operations} property of an Interface component, the combination of {name} and {target namespace} properties MUST be unique. Interface Operation components are local to Interface components; they cannot be referred to by QName, despite having both {name} and {target namespace} properties. That is, two Interface components sharing the same {target namespace} property but with different {name} properties MAY contain Interface Operation components which share the same {name} property. Thus, the {name} and {target namespace} properties of the Interface Operation components are not sufficient to uniquely identify an Interface Operation component. In order to uniquely identify an Interface Operation component, one must first identify the Interface component (by QName) and then identify the Interface Operation within that Interface component (by a further QName). In cases where, due to an interface extending one or more other interfaces, two or more Interface Operation components have the same value for their {name} and {target namespace} properties, then the component models of those Interface Operation components MUST be equivalent (see _22_.._11_55_ _EE_qq_uu_ii_vv_aa_ll_ee_nn_cc_ee_ _oo_ff_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ss). If the Interface Operation components are equivalent then they are considered to collapse into a single component. It is an error if two Interface Operation components have the same value for their {name} and {target namespace} properties but are not equivalent. Note that, due to the above rules, if two interfaces that have the same value for their {target namespace} property also have one or more operations that have the same value for their {name} property then those two interfaces cannot both form part of the derivation chain of a derived interface unless those operations are the same operation. NNoottee:: For the above reason, it is considered good practice to ensure, where necessary, that the {name} property of Interface Operation components within a namespace are unique, thus allowing such derivation to occur without inadvertent error. 22..44..11..11 OOppeerraattiioonn SSttyyllee If the {style} property of an Interface Operation component has a value then that value (a URI) implies the rules that were used to define the {element} properties (or other property which defines the content of the message properties; see _33_.._22_ _UU_ss_ii_nn_gg_ _OO_tt_hh_ee_rr_ _SS_cc_hh_ee_mm_aa_ _LL_aa_nn_gg_uu_aa_gg_ee_ss) of aallll the Message Reference components which are members of the {message references} property of that component. Note that the property MAY not have any value. If this property has a given value, then the rules implied by that value (such as rules that govern the schemas) MUST be followed or it is an error. This specification defines the following pre-defined operation style: * RPC Style (see _22_.._44_.._44_ _RR_PP_CC_ _SS_tt_yy_ll_ee) 22..44..22 XXMMLL RReepprreesseennttaattiioonn ooff IInntteerrffaaccee OOppeerraattiioonn CCoommppoonneenntt ? [ | | [ | | | ]+ ]* The XML representation for an Interface Operation component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of operation * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * Two or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._44_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _oo_pp_ee_rr_aa_tt_ii_oo_nn_ _[[_oo_ww_nn_ee_rr_]]. o A REQUIRED pattern aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._44_.._22_.._22_ _pp_aa_tt_tt_ee_rr_nn_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _oo_pp_ee_rr_aa_tt_ii_oo_nn_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL style aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._44_.._22_.._33_ _ss_tt_yy_ll_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _oo_pp_ee_rr_aa_tt_ii_oo_nn_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL safe aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._44_.._22_.._44_ _ss_aa_ff_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _oo_pp_ee_rr_aa_tt_ii_oo_nn_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # Zero or more input eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._55_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more output eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._55_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more infault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._66_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_aa_uu_ll_tt_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more outfault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._66_.._22 _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_aa_uu_ll_tt_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # A feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._77_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # A property eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._88_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/ wsdl". * At least one of the [children] MUST be an input , output , infault , or outfault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. 22..44..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ooppeerraattiioonn [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies a given operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm inside a given interface eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name * A [namespace name] which has no value The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..44..22..22 ppaatttteerrnn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ooppeerraattiioonn [[oowwnneerr]] The pattern aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies the message exchange pattern a given operation uses. The pattern aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of pattern * A [namespace name] which has no value The type of the pattern aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. 22..44..22..33 ssttyyllee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ooppeerraattiioonn [[oowwnneerr]] The style aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm indicates the rules that were used to construct the {element} properties of the Message Reference components which are members of the {message references} property of the [owner] operation. The style aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of style * A [namespace name] which has no value The type of the style aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. 22..44..22..44 ssaaffee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ooppeerraattiioonn [[oowwnneerr]] The safe aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm indicates whether the operation is ssaaffee or not. The safe aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of safe * A [namespace name] which has no value The type of the safe aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::bboooolleeaann and does not have a default value. 22..44..33 MMaappppiinngg IInntteerrffaaccee OOppeerraattiioonn''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Interface Operation component (see _22_.._44_.._11_ _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._44_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _II_nn_tt_ee_rr_ff_aa_cc_ee _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_4. TTaabbllee 22--44.. MMaappppiinngg bbeettwweeeenn IInntteerrffaaccee OOppeerraattiioonn CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{name} |The actual value of the name aattttrriibbuuttee iinnffoorrmmaattiioonn| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The actual value of the targetNamespace aattttrriibbuuttee | |{target namespace} |iinnffoorrmmaattiioonn iitteemm of the [parent] definitions | | |eelleemmeenntt iinnffoorrmmaattiioonn iitteemm of the [parent] interface| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{message exchange pattern}|The actual value of the pattern aattttrriibbuuttee | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of message references corresponding to the| |{message references} |input and output eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The set of fault references corresponding to the | |{fault references} |infault and outfault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The actual value of the style aattttrriibbuuttee | | |iinnffoorrmmaattiioonn iitteemm if present, otherwise the actual | |{style} |value of the styleDefault aattttrriibbuuttee iinnffoorrmmaattiioonn | | |iitteemm of the [parent] interface eelleemmeenntt iinnffoorrmmaattiioonn| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_tt_ee_mm_ _i_f_ _p_r_e_s_e_n_t_,_ _o_t_h_e_r_w_i_s_e_ _n_o_n_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{safety} |The actual value of the safe aattttrriibbuuttee iinnffoorrmmaattiioonn| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_tt_ee_mm_ _i_f_ _p_r_e_s_e_n_t_,_ _o_t_h_e_r_w_i_s_e_ _t_h_e_ _v_a_l_u_e_ _ff_aa_ll_ss_ee_._ _ _ _ _ _ _ | |{features} |The set of features corresponding to the feature | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ | | |The set of properties corresponding to the | |{properties} |property eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in [children], | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..44..44 RRPPCC SSttyyllee The RPC style is selected by assigning to an Interface Operation component's {style} property the value hhttttpp::////wwwwww..ww33..oorrgg//22000044//0033//wwssddll//ssttyyllee//rrppcc. The RPC style MUST NOT be used for Interface Operation components whose {message exchange pattern} property has a value other than 'http://www.w3.org/ 2004/03/wsdl/in-only' or 'http://www.w3.org/2004/03/wsdl/in-out'. Use of this value indicates that XML Schema [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s] was used to define the schemas of the {element} properties of all {message reference} components of the Interface Operation component. Those schemas MUST adhere to the rules below. Note that if the Interface Operation component uses the {message exchange pattern} 'http://www.w3.org/2004/03/wsdl/in-only' then there is no output element and hence the rules which refer to the output element do not apply. * The content model of input and output {element} elements are defined using a complex type that contains a sequence from XML Schema. * The sequence MUST only contain elements. It MUST NOT contain other structures such as xs:choice. * The sequence MUST contain only local element children. Note that these child elements MAY contain the following attributes: nillable, minOccurs and maxOccurs. * The LocalPart of input element's QName MUST be the same as the Interface operation component's name. * The LocalPart of the output element's QName is obtained by concatenating the name of the operation and the string value "Response", i.e. concat (operation/@name,"Response"). * Input and output elements MUST both be in the same namespace. * The complex type that defines the body of an input or an output element MUST NOT contain any attributes. * If elements with the same qualified name appear as children of both the input and output elements, then they MUST both be declared using the same type. * The input or output sequence MUST NOT contain multiple children elements declared with the same name. 22..44..44..11 wwrrppcc::ssiiggnnaattuurree EExxtteennssiioonn The wrpc:signature extension AII MAY be be used in conjunction with the RPC style to describe the exact signature of the function represented by an operation that uses the RPC style. When present, the wrpc:signature extension contributes the following property to the interface operation component it is applied to: * {rpc-signature} A (possibly empty) list of pairs ((qq,, tt)) whose first component is of type xxss::QQNNaammee (as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]) and whose second component is of type xxss::TTookkeenn (as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]). Values for the second component MUST be chosen among the following four: "#in", "#out", "#inout" "#return". The value of the {rpc-signature} property MUST satisfy the following conditions: * The value of the first component of each pair ((qq,, tt)) MUST be unique within the list. * For each child element of the input and output messages of the operation, a pair ((qq,, tt)) whose first component qq is equal to the qualified name of that element MUST be present in the list, with the caveat that elements that appear with cardinality greater than one MUST be treated as as a single element. * For each pair ((qq,, ##iinn)), there MUST be a child element of the input element with a name of qq and there MUST NOT be a child element of the output element with the same name. * For each pair ((qq,, ##oouutt)), there MUST be a child element of the output element with a name of qq and there MUST NOT be a child element of the input element with the same name. * For each pair ((qq,, ##iinnoouutt)), there MUST be a child element of the input element with a name of qq and there MUST be a child element of the output element with the same name. Furthermore, those two elements MUST have the same type. * For each pair ((qq,, ##rreettuurrnn)), there MUST be a child element of the output element with a name of qq and there MUST NOT be a child element of the input element with the same name. The function signature defined by a wrpc:signature extension is determined as follows: 1. Start with the value of the {rpc-signature} property, a (possibly empty) list of pairs of this form: [[((qq00,, tt00)),, ((qq11,, tt11)),, ......]] 2. Filter the elements of this list into two lists, the first one ((LL11)) comprising pairs whose tt component is one of {{##iinn,, ##oouutt,, ##iinnoouutt}}, the second ((LL22)) pairs whose tt component is ##rreettuurrnn. For ease of visualization, let's denote the two lists as (L1) [[((aa00,, uu00)),, ((aa11,, uu11)),,......]] and (L2) [[((rr00,, ##rreettuurrnn)),, ((rr11,, ##rreettuurrnn)),,......]] respectively. 3. Then the formal signature of the function is ff(([[dd00]] aa00,, [[dd11]] aa11,, ......)) ==>> ((rr00,, rr11,, ......)) i.e. o the list of formal arguments to the function is [[aa00,, aa11,, ......]]; o the direction of each formal argument aa is one of [[iinn]], [[oouutt]], [[iinnoouutt]], determined according to the value of its corresponding uu token; o the list of formal return parameters of the function is [[rr00,, rr11,, ......]]; o each formal argument and formal return parameter is typed according to the type of the child element identified by it (unique per the conditions given above). 22..44..44..22 XXMMLL RReepprreesseennttaattiioonn ooff tthhee wwrrppcc::ssiiggnnaattuurree EExxtteennssiioonn The XML representation for the RPC signature extension is an aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of signature * A [namespace name] of "http://www.w3.org/2004/03/wsdl/rpc" The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is a list type whose item type is the union of the xxss::QQNNaammee type and the subtype of the xxss::TTookkeenn type restricted to the following four values: "#in", "#out", "#inout", "#return". See _E_x_a_m_p_l_e_ _2_-_1 for a definition of this type. Additionally, each even-numbered item (0, 2, 4, ...) in the list MUST be of type xxss::QQNNaammee and each odd-numbered item (1, 3, 5, ...) in the list MUST be of type xxss::TTookkeenn. Example 2-1. Definition of the wrpc:signature extension 22..44..44..33 wwrrppcc::ssiiggnnaattuurree EExxtteennssiioonn MMaappppiinngg TToo PPrrooppeerrttiieess ooff aann IInntteerrffaaccee OOppeerraattiioonn CCoommppoonneenntt A wrpc:signature extension aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is mapped to the following property of the Interface Operation component (see _22_.._44_.._11_ _TT_hh_ee _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) defined by its [owner]. TTaabbllee 22--55.. MMaappppiinngg ooff aa wwrrppcc::ssiiggnnaattuurree EExxtteennssiioonn ttoo IInntteerrffaaccee OOppeerraattiioonn _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |A list of ((xxss::QQNNaammee,, xxss::TTookkeenn)) pairs formed by grouping the | |{rpc-signature}|items present in the actual value of the wrpc:signature | | |aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm in the order in which they appear| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_t_h_e_r_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..55 MMeessssaaggee RReeffeerreennccee 22..55..11 TThhee MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt A Message Reference component associates to a message exchanged in an operation an XML element declaration that specifies its message content. Message Reference components are identified by the role the message plays in the {message exchange pattern} that the operation is using. That is, a message exchange pattern defines a set /meof placeholder messages that participate in the pattern and assigns them unique names within the pattern. The purpose of a Message Reference component is to associate an actual message type (XML element declaration or some other declaration (see _33_.._22_ _UU_ss_ii_nn_gg_ _OO_tt_hh_ee_rr_ _SS_cc_hh_ee_mm_aa_ _LL_aa_nn_gg_uu_aa_gg_ee_ss) for message content) with the message that will perform a specific role in the message exchange pattern. The properties of the Message Reference component are as follows: * {message label} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. This property identifies the role this message plays in the {message exchange pattern} of the Interface Operation component this is contained within. The value of this property MUST match the name of a placeholder message defined by the message exchange pattern. * {direction} One of iinn or oouutt indicating whether the message is coming to the service or going from the service, respectively. The direction MUST be the same as the direction of the message identified by the {message label} property in the {message exchange pattern} of the Interface Operation component this is contained within. * {message content model} A token with one of the values ##aannyy, ##nnoonnee, or ##eelleemmeenntt. A value of ##aannyy indicates that the message content is any single element. A value of ##nnoonnee indicates there is no message content. A value of ##eelleemmeenntt indicates that the message consists of a single element described by the global element declaration reference by the {element} property. * {element} A reference to an XML element declaration in the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. This element represents the content or "payload" of the message. When the {message content model} property has the value ##aannyy or ##nnoonnee the {element} property has no value. If a non-XML type system is in use (as considered in _33_.._22_ _UU_ss_ii_nn_gg_ _OO_tt_hh_ee_rr_ _SS_cc_hh_ee_mm_aa _LL_aa_nn_gg_uu_aa_gg_ee_ss) then additional properties would need to be added to the Message Reference Component (along with extensibility attributes to its XML representation) to allow associating such message types with the message reference. For each Message Reference component in the {message references} property of an Interface Operation component, its {message label} property MUST be unique. 22..55..22 XXMMLL RReepprreesseennttaattiioonn ooff MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt ? ? The XML representation for a Message Reference component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of input or output * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * Zero or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o An OPTIONAL messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._55_.._22_.._11_ _mm_ee_ss_ss_aa_gg_ee_LL_aa_bb_ee_ll_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh _ii_nn_pp_uu_tt_,,_ _oo_rr_ _oo_uu_tt_pp_uu_tt_ _[[_oo_ww_nn_ee_rr_]]. If the {message exchange pattern} of the Interface Operation component has only one message with a given value for {direction}, then the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is optional for the XML representation of the Message Reference component with that {direction}. o An OPTIONAL element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._55_.._22_.._22_ _ee_ll_ee_mm_ee_nn_tt_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ii_nn_pp_uu_tt_,,_ _oo_rr_ _oo_uu_tt_pp_uu_tt _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..55..22..11 mmeessssaaggeeLLaabbeell aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinnppuutt ,, oorr oouuttppuutt [[oowwnneerr]] The messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies the role of this message in the message exchange pattern of the given operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of messageLabel * A [namespace name] which has no value The type of the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..55..22..22 eelleemmeenntt aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinnppuutt ,, oorr oouuttppuutt [[oowwnneerr]] The element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of element . * A [namespace name] which has no value. The type of the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is a union of xxss::QQNNaammee and xxss::TTookkeenn where the allowed token values are ##aannyy or ##nnoonnee. 22..55..33 MMaappppiinngg MMeessssaaggee RReeffeerreennccee''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Message Reference component (see _22_.._55_.._11_ _TT_hh_ee_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the message reference eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._55_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_6. TTaabbllee 22--66.. MMaappppiinngg bbeettwweeeenn MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The actual value of the messageLabel aattttrriibbuuttee | | |iinnffoorrmmaattiioonn iitteemm if any; otherwise the {message | |{message label} |label} property of the message with same {direction} | | |from the {message exchange pattern} of the Interface | | |Operation component, provided there is exactly one | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_s_u_c_h_ _m_e_s_s_a_g_e_;_ _o_t_h_e_r_w_i_s_e_ _e_m_p_t_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |If the [local name] of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm | |{direction} |is input then "in", else if the [local name] of the | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _i_s_ _o_u_t_p_u_t_ _t_h_e_n_ _"_o_u_t_"_._ _ _ _ _ _ _ | | |If the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is present | |{message content model}|and its value is a QName, then ##eelleemmeenntt. Otherwise | | |the actual value of the element aattttrriibbuuttee iinnffoorrmmaattiioonn| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_tt_ee_mm_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |If the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is present | | |and its value is a QName, then the element | | |declaration from the {element declarations} property | | |of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt resolved to by the| |{element} |value of the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm, | | |otherwise empty. It is an error for the element | | |aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm to have a value and for it| | |to not resolve to a global element declaration from | | |the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..66 FFaauulltt RReeffeerreennccee 22..66..11 TThhee FFaauulltt RReeffeerreennccee CCoommppoonneenntt A Fault Reference component associates a Fault component that defines the fault message type for a fault that occurs related to a message participating in an operation. Fault Reference components are identified by the role the related message plays in the {message exchange pattern} that the operation is using. That is, a message exchange pattern defines a set of placeholder messages that participate in the pattern and assigns them unique labels within the pattern. The purpose of a Fault Reference component is to associate an actual Fault component for the fault that will occur with a specific message in the message exchange pattern. The companion specification [_W_S_D_L_ _2_._0_ _M_e_s_s_a_g_e_ _E_x_c_h_a_n_g_e_ _P_a_t_t_e_r_n_s] defines two ffaauulltt ppaatttteerrnnss that a given message exchange pattern may use. For the pattern ffaauulltt--rreeppllaacceess--mmeessssaaggee, the message that the fault relates to identifies the message iinn ppllaaccee ooff wwhhiicchh the declared fault message will occur. Thus, the fault message will travel in the ssaammee direction as the message it replaces in the pattern. For the pattern mmeessssaaggee--ttrriiggggeerrss--ffaauulltt, the message that the fault relates to identifies the message after which the indicated fault may occur, in the opposite direction of the referred to message. That is, the fault message will travel in the ooppppoossiittee direction of the message it comes after in the pattern. More than one Fault Reference component may refer to the same message label. This allows one to indicate that there is more than one type of fault that is related to that message. The properties of the Fault Reference component are as follows: * {message label} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. This property identifies the message this fault relates to among those defined in the {message exchange pattern} property of the Interface Operation component it is contained within. The value of this property MUST match the name of a placeholder message defined by the message exchange pattern. * {direction} One of iinn or oouutt indicating whether the fault is coming to the service or going from the service, respectively. The direction MUST be consistent with the direction implied by the fault rule used in the message exchange pattern of the operation. For example, if the fault rule ffaauulltt--rreeppllaacceess--mmeessssaaggee is used, then a fault which refers to an outgoing message would have a {direction} property value of oouutt. On the other hand, if the fault rule mmeessssaaggee--ttrriiggggeerrss--ffaauulltt is used, then a fault which refers to an outgoing message would have a {direction} property value of iinn as the fault travels in the opposite direction of the message. * {fault reference} A reference to a Fault component in the {faults} property of the parent Interface Operation component's parent Interface component. Identifying the Fault component therefore indirectly defines the actual content or payload of the fault message. 22..66..22 XXMMLL RReepprreesseennttaattiioonn ooff FFaauulltt RReeffeerreennccee CCoommppoonneenntt ? * ? * The XML representation for a Fault Reference component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of infault or outfault * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._66_.._22_.._11_ _rr_ee_ff_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ii_nn_ff_aa_uu_ll_tt_,,_ _oo_rr_ _oo_uu_tt_ff_aa_uu_ll_tt_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._66_.._22_.._22_ _mm_ee_ss_ss_aa_gg_ee_LL_aa_bb_ee_ll_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh _ii_nn_ff_aa_uu_ll_tt_,,_ _oo_rr_ _oo_uu_tt_ff_aa_uu_ll_tt_ _[[_oo_ww_nn_ee_rr_]]. If the {message exchange pattern} of the Interface Operation component has only one message with a given value for {direction}, the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is optional for the XML representation of any Fault Reference component with the same value for {direction} (if the ffaauulltt ppaatttteerrnn of the {message exchange pattern} is ffaauulltt--rreeppllaacceess--mmeessssaaggee) or of any Fault Reference component with the opposite value for {direction} (if the ffaauulltt ppaatttteerrnn is mmeessssaaggee--ttrriiggggeerrss--ffaauulltt). o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..66..22..11 rreeff aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinnffaauulltt ,, oorr oouuttffaauulltt [[oowwnneerr]] The ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm refers to a fault component. The ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of ref * A [namespace name] which has no value The type of the fault aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..66..22..22 mmeessssaaggeeLLaabbeell aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinnffaauulltt ,, oorr oouuttffaauulltt [[oowwnneerr]] The messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies the message in the message exchange pattern of the given operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm to which this fault is related to. The messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of messageLabel * A [namespace name] which has no value The type of the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..66..33 MMaappppiinngg FFaauulltt RReeffeerreennccee''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Fault Reference component (see _22_.._66_.._11 _TT_hh_ee_ _FF_aa_uu_ll_tt_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the message reference eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._66_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_aa_uu_ll_tt _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_7. TTaabbllee 22--77.. MMaappppiinngg bbeettwweeeenn FFaauulltt RReeffeerreennccee CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_f_a_u_l_t_ _r_e_f_e_r_e_n_c_e_}_|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _r_e_f_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ | | |The actual value of the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn| | |iitteemm if any; otherwise the {message label} property of the| | |message with the same {direction} from the {message | | |exchange pattern} of the Interface Operation component, | |{message label} |provided there is exactly one such message and the ffaauulltt | | |ppaatttteerrnn of the {message exchange pattern} is ffaauulltt-- | | |rreeppllaacceess--mmeessssaaggee; otherwise the {message reference} | | |property of the message with the opposite {direction}, | | |provided there is exactly one such message and the ffaauulltt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_pp_aa_tt_tt_ee_rr_nn_ _i_s_ _mm_ee_ss_ss_aa_gg_ee_--_tt_rr_ii_gg_gg_ee_rr_ss_--_ff_aa_uu_ll_tt_;_ _o_t_h_e_r_w_i_s_e_ _e_m_p_t_y_._ _ _ _ _ _ _ | | |If the [local name] of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is | |{direction} |infault then "in", else if the [local name] of the eelleemmeenntt| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _i_s_ _o_u_t_f_a_u_l_t_ _t_h_e_n_ _"_o_u_t_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..77 FFeeaattuurree 22..77..11 TThhee FFeeaattuurree CCoommppoonneenntt A feature component describes an abstract piece of functionality typically associated with the exchange of messages between communicating parties. Although WSDL poses no constraints on the potential scope of such features, examples might include "reliability", "security", "correlation", and "routing". The presence of a feature component in a WSDL description indicates that the service supports the feature and may require a requester agent that interacts with the service to use that feature. Each Feature is identified by its URI. The properties of the Feature component are as follows: * {name} An absolute URI as defined by [_I_E_T_F_ _R_F_C_ _2_3_9_6]. This URI SHOULD be dereferenceable to a document that directly or indirectly defines the meaning and use of the Feature that it identifies. * {required} A boolean value. If the {require} property is true, then the requester agent MUST use the Feature that is identified by the {name} URI. Otherwise, the requester agent MAY use the Feature that is identified by the {name} URI. In either case, if the requester agent does use the Feature that is identified by the {name} URI, then the requester agent MUST obey all semantics implied by the definition of that Feature. 22..77..11..11 FFeeaattuurree CCoommppoossiittiioonn MMooddeell The set of features which are required or available for a given service and a particular interaction consists of the combined set of ALL feature declarations in the following scope. The list is in order of increasing specificity. * The interface component. * The specific interface operation component. * The specific message reference component. * The binding component. * The specific binding operation component. * The specific binding message or fault reference component. Note that multiple declarations of the same feature have no effect on the combined set of active features, since features are either in use or not, with no multiplicity. If multiple declarations of the same feature are in scope for a given interaction, the feature is required if ANY of the in scope declarations have the required attribute set to "true". 22..77..11..11..11 EExxaammppllee ooff FFeeaattuurree CCoommppoossiittiioonn MMooddeell In the following example, the depositFunds operation on the BankService has to be used with the ISO9001 , the notarization and the secure-channel features; they are all in scope. The fact that the notarization feature is declared both in the operation and in the service has no effect. ... ... ... 22..77..22 XXMMLL RReepprreesseennttaattiioonn ooff FFeeaattuurree CCoommppoonneenntt ? The XML representation for a Feature component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of feature * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._77_.._22_.._11_ _uu_rr_ii_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_ee_aa_tt_uu_rr_ee_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._77_.._22_.._22_ _rr_ee_qq_uu_ii_rr_ee_dd_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_ee_aa_tt_uu_rr_ee_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..77..22..11 uurrii aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffeeaattuurree [[oowwnneerr]] The uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm specifies the URI of the feature. The uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of uri * A [namespace name] which has no value The type of the uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xs:anyURI . 22..77..22..22 rreeqquuiirreedd aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffeeaattuurree [[oowwnneerr]] The required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm specifies whether the use of the feature is mandatory or optional. The required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of required * A [namespace name] which has no value The type of the required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xs:boolean . 22..77..33 MMaappppiinngg FFeeaattuurree''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Feature component (see _22_.._77_.._11_ _TT_hh_ee _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._77_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_8. TT_aa_bb_ll_ee_ _22_--_88_.._ _MM_aa_pp_pp_ii_nn_gg_ _bb_ee_tt_ww_ee_ee_nn_ _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss_ _aa_nn_dd_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oonn |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _u_r_i_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ | |{required}|If the value of the required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is "true"| |_ _ _ _ _ _ _ _ _ _ _|_o_r_ _"_1_"_,_ _t_h_e_n_ _"_t_r_u_e_"_,_ _o_t_h_e_r_w_i_s_e_ _"_f_a_l_s_e_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..88 PPrrooppeerrttyy 22..88..11 TThhee PPrrooppeerrttyy CCoommppoonneenntt A Property component describes the set of possible values for a particular property. The permissible values are specified by references to a Schema description. A property is typically used to control a feature's behavior. Properties, and hence property values, can be shared amongst features. The properties of the Property component are as follows: * {name} An absolute URI as defined by [_I_E_T_F_ _R_F_C_ _2_3_9_6]. This URI SHOULD be dereferenceable to a document that directly or indirectly defines the meaning and use of the Property that it identifies. * {required} A boolean value. If the {required} property is true, then the requester agent MUST use the Property that is identified by the {name} URI. Otherwise, the requester agent MAY use the Property that is identified by the {name} URI. In either case, if the requester agent does use the Property that is identified by the {name} URI, then the requester agent MUST obey all semantics implied by the definition of that Property. * {value constraint} A type definition constraining the value of the property. * {value} The value of the property. 22..88..11..11 PPrrooppeerrttyy CCoommppoossiittiioonn MMooddeell At runtime, the behaviour of features, (SOAP) modules and bindings may be affected by the values of in-scope properties. Properties combine into a virtual "execution context" which maps property names (URIs) to constraints. Each property URI MAY therefore be associated with AT MOST one property constraint for a given interaction. The particular set of constraints for a given service and a particular interaction consists of the combined set of ALL constraints in the following scope. The list is in order of increasing specificity, and if a given property URI is constrained in a later scope, it overrides the earlier constraint. * The interface component. * The specific interface operation component. * The specific message reference component. * The binding component. * The specific binding operation component. * The specific binding message or fault reference component. Note that, in the text above, "property constraint" (or, simply, "constraint") is used to mean EITHER a constraint inside a property component OR a value , since value may be considered a special case of constraint . 22..88..22 XXMMLL RReepprreesseennttaattiioonn ooff PPrrooppeerrttyy CCoommppoonneenntt ? [ | ] The XML representation for a Property component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of property * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._88_.._22_.._11_ _uu_rr_ii_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _pp_rr_oo_pp_ee_rr_tt_yy_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._88_.._22_.._22_ _rr_ee_qq_uu_ii_rr_ee_dd_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_ee_aa_tt_uu_rr_ee_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * One or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. One REQUIRED eelleemmeenntt iinnffoorrmmaattiioonn iitteemm from among the following: # A value eelleemmeenntt iinnffoorrmmaattiioonn iitteemm as described in _22_.._88_.._22_.._33 _vv_aa_ll_uu_ee_ _ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _pp_rr_oo_pp_ee_rr_tt_yy_ _[[_pp_aa_rr_ee_nn_tt_]] # A constraint eelleemmeenntt iinnffoorrmmaattiioonn iitteemm as described in _22_.._88_.._22_.._44 _cc_oo_nn_ss_tt_rr_aa_ii_nn_tt_ _ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _pp_rr_oo_pp_ee_rr_tt_yy_ _[[_pp_aa_rr_ee_nn_tt_]] 3. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 22..88..22..11 uurrii aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh pprrooppeerrttyy [[oowwnneerr]] The uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm specifies the URI of the property. It has the following Infoset properties: * A [local name] of uri * A [namespace name] which has no value The type of the uri aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xs:anyURI . 22..88..22..22 rreeqquuiirreedd aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffeeaattuurree [[oowwnneerr]] The required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm specifies whether use of the property is mandatory or optional. The required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of required * A [namespace name] which has no value The type of the required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xs:boolean . 22..88..22..33 vvaalluuee eelleemmeenntt iinnffoorrmmaattiioonn iitteemm wwiitthh pprrooppeerrttyy [[ppaarreenntt]] xxss::aannyyTTyyppee The value eelleemmeenntt iinnffoorrmmaattiioonn iitteemm specifies the value of the property. It has the following Infoset properties: * A [local name] of value * A [namespace name] of "http://www.w3.org/2004/03/wsdl" The type of the value eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is xs:anyType . 22..88..22..44 ccoonnssttrraaiinntt eelleemmeenntt iinnffoorrmmaattiioonn iitteemm wwiitthh pprrooppeerrttyy [[ppaarreenntt]] xxss::QQNNaammee The constraint eelleemmeenntt iinnffoorrmmaattiioonn iitteemm specifies a constraint on the value of the property. It has the following Infoset properties: * A [local name] of constraint * A [namespace name] of "http://www.w3.org/2004/03/wsdl" The type of the constraint aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xs:QName . 22..88..33 MMaappppiinngg PPrrooppeerrttyy''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Property component (see _22_.._88_.._11_ _TT_hh_ee _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the property eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._88_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_9. TT_aa_bb_ll_ee_ _22_--_99_.._ _MM_aa_pp_pp_ii_nn_gg_ _bb_ee_tt_ww_ee_ee_nn_ _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss_ _aa_nn_dd_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oonn |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _ _ _ _ _ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _u_r_i_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ | | |If the constraint eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is present, the| | |type referred to by the value of this eelleemmeenntt iinnffoorrmmaattiioonn | |{value constraint}|iitteemm. Otherwise, an anonymous type, whose base type is | | |"xs:anyType", with a single "enumeration" facet whose | | |value is the type of the value of the value eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _O_t_h_e_r_w_i_s_e_,_ _"_x_s_:_a_n_y_T_y_p_e_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{value} |The actual value of the value eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, if| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..99 BBiinnddiinngg 22..99..11 TThhee BBiinnddiinngg CCoommppoonneenntt A Binding component describes a concrete message format and transmission protocol which may be used to define an endpoint (see _22_.._11_44_ _EE_nn_dd_pp_oo_ii_nn_tt). Binding components can be used to describe such information in a re-usable manner for any interface or specifically for a given interface. Furthermore, binding information MAY be specified on a per-operation basis (see _22_.._11_11_.._11_ _TT_hh_ee_ _BB_ii_nn_dd_ii_nn_gg _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) within an interface in addition to across all operations of an interface. If a Binding component specifies any operation-specific binding details (by including Binding Operation components) or any fault binding details (by including Binding Fault components) then it MUST specify an interface the Binding component applies to, so as to indicate which interface the operations come from. Conversely, a Binding component which omits any operation-specific binding details and any fault binding details MAY omit specifying an interface. Binding components that do not specify an interface MAY be used to specify operation- independent binding details for Service components with different interfaces. That is, such Binding components are reusable across one or more interfaces. No concrete binding details are given in this specification. The companion specification, WWSSDDLL ((VVeerrssiioonn 22..00)):: BBiinnddiinnggss [_W_S_D_L_ _2_._0_ _B_i_n_d_i_n_g_s] defines such bindings for SOAP 1.2 [_S_O_A_P_ _1_._2_ _P_a_r_t_ _1_:_ _M_e_s_s_a_g_i_n_g_ _F_r_a_m_e_w_o_r_k] and HTTP [_I_E_T_F_ _R_F_C _2_6_1_6]. Other specifications MAY define additional binding details. Such specifications are expected to annotate the Binding component (and its sub- components) with additional properties and specify the mapping between those properties and the XML representation. A Binding component which defines bindings for an Interface component MUST define bindings for all the operations of that Interface component. The bindings may occur via defaulting rules which allow one to specify default bindings for all operations (see, for example [_W_S_D_L_ _2_._0_ _B_i_n_d_i_n_g_s]) or by directly listing each Operation component of the Interface component and defining bindings for them. Thus, it is an error for a Binding component to not define bindings for all the Operation components of the Interface component for which the Binding component purportedly defines bindings for. Bindings are named constructs and can be referred to by QName (see _22_.._11_77_ _QQ_NN_aa_mm_ee _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). For instance, Endpoint components refer to bindings in this way. The properties of the Binding component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {target namespace} A namespace name, as defined in [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {interface} An named interface definition indicating the interface for which binding information is being specified. * {faults} A set of named binding fault definitions. * {operations} A set of named binding operation definitions. * {features} A set of named feature definitions. * {properties} A set of named property definitions. For each Binding component in the {bindings} property of a definitions container, the combination of {name} and {target namespace} properties must be unique. 22..99..22 XXMMLL RReepprreesseennttaattiioonn ooff BBiinnddiinngg CCoommppoonneenntt ? [ | | | ]* The XML representation for a Binding component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of binding * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._99_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _bb_ii_nn_dd_ii_nn_gg_ _[[_oo_ww_nn_ee_rr_]]. o An OPTIONAL interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._99_.._22_.._22_ _ii_nn_tt_ee_rr_ff_aa_cc_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _bb_ii_nn_dd_ii_nn_gg_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # Zero or more fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_00_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_11_.._22 _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._77_.._22_ _XX_MM_LL _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _FF_ee_aa_tt_uu_rr_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more property eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._88_.._22 _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _PP_rr_oo_pp_ee_rr_tt_yy_ _CC_oo_mm_pp_oo_nn_ee_nn_tt). # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are considered to be binding extension elements(see _22_.._99_.._22_.._33_ _BB_ii_nn_dd_ii_nn_gg_ _ee_xx_tt_ee_nn_ss_ii_oo_nn_ _ee_ll_ee_mm_ee_nn_tt_ss). 22..99..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh bbiinnddiinngg [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm together with the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm forms the QName of the binding. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name * A [namespace name] which has no value The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..99..22..22 iinntteerrffaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh bbiinnddiinngg [[oowwnneerr]] The interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm refers, by QName, to an Interface component. The interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of interface * A [namespace name] which has no value The type of the interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..99..22..33 BBiinnddiinngg eexxtteennssiioonn eelleemmeennttss Binding extension elements are used to provide information specific to a particular binding. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are defined by the specification for those eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Such specifications are expected to annotate the Binding component with additional properties and specify the mapping between those properties and the XML representation. 22..99..33 MMaappppiinngg BBiinnddiinngg''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Binding component (see _22_.._99_.._11_ _TT_hh_ee _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the binding eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._99_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_0. TT_aa_bb_ll_ee_ _22_--_11_00_.._ _MM_aa_pp_pp_ii_nn_gg_ _bb_ee_tt_ww_ee_ee_nn_ _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss_ _aa_nn_dd_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oonn |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _ _ _ _ _ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _n_a_m_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ | | |The actual value of the targetNamespace aattttrriibbuuttee | |{target namespace}|iinnffoorrmmaattiioonn iitteemm of the [parent] definitions eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{interface} |The Interface component resolved to by the actual value of| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_t_h_e_ _i_n_t_e_r_f_a_c_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ | |{faults} |The set of Binding Fault components corresponding to the | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_f_a_u_l_t_ _ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ _ _ | | |The set of Binding Operation components corresponding to | |{operations} |the operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in [children], if | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{features} |The set of Feature components corresponding to the feature| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ | |{properties} |The set of Property components corresponding to the | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_p_r_o_p_e_r_t_y_ _ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ | 22..1100 BBiinnddiinngg FFaauulltt 22..1100..11 TThhee BBiinnddiinngg FFaauulltt CCoommppoonneenntt A Binding Fault component describes a concrete binding of a particular fault within an interface to a particular concrete message format. A particular fault of an interface is uniquely identified by the target namespace of the interface and the name of the fault within that interface. Note that the fault does not occur by itself - it occurs as part of a message exchange as defined by an Interface Operation component (and its binding counterpart the Binding Operation component). Thus, the fault binding information specified in a Binding Fault component describes how faults that occur within a message exchange of an operation will be formatted. The properties of the Binding Fault component are as follows: * {fault reference} A QName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s] which refers to an Interface Fault component in the {faults} property of the Interface component identified by the {interface} property of the parent Binding component. This is the Interface Fault component for which binding information is being specified. For each Binding Fault component in the {faults} property of a Binding component, the {fault reference} property MUST be unique. That is, one cannot define multiple bindings for the same fault within a given Binding component. 22..1100..22 XXMMLL RReepprreesseennttaattiioonn ooff BBiinnddiinngg FFaauulltt CCoommppoonneenntt ? The XML representation for a Binding Fault component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of fault * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_00_.._22_.._11_ _rr_ee_ff_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ff_aa_uu_ll_tt_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are considered to be binding fault extension elements as described below (see _22_.._11_00_.._22_.._22_ _BB_ii_nn_dd_ii_nn_gg_ _FF_aa_uu_ll_tt_ _ee_xx_tt_ee_nn_ss_ii_oo_nn _ee_ll_ee_mm_ee_nn_tt_ss). 22..1100..22..11 rreeff aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ffaauulltt [[oowwnneerr]] The ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of ref * A [namespace name] which has no value The type of the ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..1100..22..22 BBiinnddiinngg FFaauulltt eexxtteennssiioonn eelleemmeennttss Binding Fault extension elements are used to provide information specific to a particular fault in a binding. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are defined by the specification for those eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Such specifications are expected to annotate the Binding Fault component with additional properties and specify the mapping between those properties and the XML representation. 22..1100..33 MMaappppiinngg BBiinnddiinngg FFaauulltt''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Binding Fault component (see _22_.._11_00_.._11 _TT_hh_ee_ _BB_ii_nn_dd_ii_nn_gg_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_00_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _FF_aa_uu_ll_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_1. TTaabbllee 22--1111.. MMaappppiinngg bbeettwweeeenn BBiinnddiinngg FFaauulltt CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_f_a_u_l_t_ _r_e_f_e_r_e_n_c_e_}_|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _r_e_f_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_.| 22..1111 BBiinnddiinngg OOppeerraattiioonn 22..1111..11 TThhee BBiinnddiinngg OOppeerraattiioonn CCoommppoonneenntt A Binding Operation component describes a concrete binding of a particular operation of an interface to a particular concrete message format. A particular operation of an interface is uniquely identified by the target namespace of the interface and the name of the operation within that interface. The properties of the Binding Operation component are as follows: * {operation reference} A QName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s] which refers to an Interface Operation component in the {operations} property of the Interface component identified by the {interface} property of the parent Binding component. This is the Interface Operation component for which binding information is being specified. * {message references} A set of Binding Message Reference components For each Binding Operation component in the {operations} property of a Binding component, the {operation reference} property MUST be unique. That is, one cannot define multiple bindings for the same operation within a given Binding component. Interface Operation components are local to Interface components; they cannot be referred to by QName, despite having both {name} and {target namespace} properties. That is, two Interface components sharing the same {target namespace} property but with different {name} properties MAY contain Interface Operation components which share the same {name} property. Thus, the {name} and {target namespace} properties of the Interface Operation components are not sufficient to form the unique identity of an Interface Operation component. To uniquely identify an Interface Operation component one must first identify the Interface component (by QName) and then identify the Interface Operation within that Interface component (by a further QName). 22..1111..22 XXMMLL RReepprreesseennttaattiioonn ooff BBiinnddiinngg OOppeerraattiioonn CCoommppoonneenntt ? [ | | | ]* The XML representation for a Binding Operation component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of operation * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_11_.._22_.._11_ _rr_ee_ff_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _oo_pp_ee_rr_aa_tt_ii_oo_nn_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # Zero or more input eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_22 _BB_ii_nn_dd_ii_nn_gg_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee ) # Zero or more output eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_22 _BB_ii_nn_dd_ii_nn_gg_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee ) # Zero or more feature eelleemmeenntt iinnffoorrmmaattiioonn iitteemms # Zero or more property eelleemmeenntt iinnffoorrmmaattiioonn iitteemms # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/ wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are considered to be binding operation extension elements as described below (see _22_.._11_11_.._22_.._22_ _BB_ii_nn_dd_ii_nn_gg_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _ee_xx_tt_ee_nn_ss_ii_oo_nn_ _ee_ll_ee_mm_ee_nn_tt_ss). 22..1111..22..11 rreeff aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh ooppeerraattiioonn [[oowwnneerr]] The ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of ref * A [namespace name] which has no value The type of the ref aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..1111..22..22 BBiinnddiinngg OOppeerraattiioonn eexxtteennssiioonn eelleemmeennttss Binding Operation extension elements are used to provide information specific to a particular operation in a binding. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are defined by the specification for those eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Such specifications are expected to annotate the Binding Operation component with additional properties and specify the mapping between those properties and the XML representation. 22..1111..33 MMaappppiinngg BBiinnddiinngg OOppeerraattiioonn''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Binding Operation component (see _22_.._11_11_.._11_ _TT_hh_ee_ _BB_ii_nn_dd_ii_nn_gg_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the operation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_11_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_2. TTaabbllee 22--1122.. MMaappppiinngg bbeettwweeeenn BBiinnddiinngg OOppeerraattiioonn CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_o_p_e_r_a_t_i_o_n_ _r_e_f_e_r_e_n_c_e_}_|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _r_e_f_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_.| | |The set of Binding Message Reference components | |{messages references}|corresponding to the input and output eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{features} |The set of Feature components corresponding to the | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_f_e_a_t_u_r_e_ _ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _i_n_ _[_c_h_i_l_d_r_e_n_]_,_ _i_f_ _a_n_y_.| | |The set of Property components corresponding to the | |{properties} |property eelleemmeenntt iinnffoorrmmaattiioonn iitteemm in [children], if | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_a_n_y_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..1122 BBiinnddiinngg MMeessssaaggee RReeffeerreennccee 22..1122..11 TThhee BBiinnddiinngg MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt A Binding Message Reference component describes a concrete binding of a particular message participating in an operation to a particular concrete message format. The properties of the Binding Message Reference component are as follows: * {message label} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. The value of this property identifies the role that the message for which binding details are being specified plays in the {message exchange pattern} of the Interface Operation component being bound by the containing Binding Operation component. * {direction} One of iinn or oouutt indicating whether the message is coming to the service or going from the service, respectively. The direction MUST be the same as the direction of the message identified by the {message label} property in the {message exchange pattern} of the Interface Operation component being bound by the containing Binding Operation component. For each Binding Message Reference component in the {message references} property of a Binding Operation component, the {message label} property MUST be unique. That is, the same message cannot be bound twice within the same operation. 22..1122..22 XXMMLL RReepprreesseennttaattiioonn ooff BBiinnddiinngg MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt ? ? The XML representation for a Binding Message Reference component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of input or output . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o An OPTIONAL messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_22_.._22_.._11_ _mm_ee_ss_ss_aa_gg_ee_LL_aa_bb_ee_ll_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh _ii_nn_pp_uu_tt_ _oo_rr_ _oo_uu_tt_pp_uu_tt_ _[[_oo_ww_nn_ee_rr_]]. If the {message exchange pattern} of the Interface Operation component being bound has only one message with a given value for {direction}, then the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is optional for the XML representation of the Binding Message Reference component with that {direction}. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are considered to be binding message reference extension elements, as described below (see _22_.._11_22_.._22_.._22_ _BB_ii_nn_dd_ii_nn_gg _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _ee_xx_tt_ee_nn_ss_ii_oo_nn_ _ee_ll_ee_mm_ee_nn_tt_ss). 22..1122..22..11 mmeessssaaggeeLLaabbeell aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinnppuutt oorr oouuttppuutt [[oowwnneerr]] The messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of messageLabel . * A [namespace name] which has no value. The type of the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..1122..22..22 BBiinnddiinngg MMeessssaaggee RReeffeerreennccee eexxtteennssiioonn eelleemmeennttss Binding Message Reference extension elements are used to provide information specific to a particular message in an operation. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are defined by the specification for those eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Such specifications are expected to annotate the Binding Message Reference component with additional properties and specify the mapping between those properties and the XML representation. 22..1122..33 MMaappppiinngg BBiinnddiinngg MMeessssaaggee RReeffeerreennccee''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Binding Message Reference component (see _22_.._11_22_.._11_ _TT_hh_ee_ _BB_ii_nn_dd_ii_nn_gg_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the binding eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_22_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff _BB_ii_nn_dd_ii_nn_gg_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_3. TTaabbllee 22--1133.. MMaappppiinngg bbeettwweeeenn BBiinnddiinngg MMeessssaaggee RReeffeerreennccee CCoommppoonneenntt PPrrooppeerrttiieess aanndd _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |The actual value of the messageLabel aattttrriibbuuttee iinnffoorrmmaattiioonn | | |iitteemm if any; otherwise the {message label} property of the | |{message label}|message with same {direction} from the {message exchange | | |pattern} of the Interface Operation component being bound, | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_p_r_o_v_i_d_e_d_ _t_h_e_r_e_ _i_s_ _e_x_a_c_t_l_y_ _o_n_e_ _s_u_c_h_ _m_e_s_s_a_g_e_;_ _o_t_h_e_r_w_i_s_e_ _e_m_p_t_y_.| | |If the [local name] of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is input| |{direction} |then "in", else if the [local name] of the eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _i_s_ _o_u_t_p_u_t_ _t_h_e_n_ _"_o_u_t_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..1133 SSeerrvviiccee 22..1133..11 TThhee SSeerrvviiccee CCoommppoonneenntt A Service component describes a set of endpoints (see _22_.._11_44_ _EE_nn_dd_pp_oo_ii_nn_tt) at which the single interface of the service is provided. The endpoints thus are in effect alternate places at which the service is provided. Services are named constructs and can be referred to by QName (see _22_.._11_77_ _QQ_NN_aa_mm_ee _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). The properties of the Service component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {target namespace} A namespace name, as defined in [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {interface} An Interface component. * {endpoints} A set of Endpoint components. For each Service component in the {services} property of a definitions container, the combination of {name} and {target namespace} properties MUST be unique. 22..1133..22 XXMMLL RReepprreesseennttaattiioonn ooff SSeerrvviiccee CCoommppoonneenntt ? + The XML representation for a Service component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of service * A [namespace name] of "http://www.w3.org/2004/03/wsdl" * Two or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_33_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ss_ee_rr_vv_ii_cc_ee_ _[[_oo_ww_nn_ee_rr_]]. o A REQUIRED interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_33_.._22_.._22_ _ii_nn_tt_ee_rr_ff_aa_cc_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ss_ee_rr_vv_ii_cc_ee_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * One or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. One or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # One or more endpoint eelleemmeenntt iinnffoorrmmaattiioonn iitteemms (see _22_.._11_44_.._22 _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _EE_nn_dd_pp_oo_ii_nn_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt # Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/ wsdl". Note that the XML Schema [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s] type of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm service as defined in the WSDL schema MAY be used as the basis for defining new elements which can be used as service references in message exchanges. To enable such reuse, the WSDL schema defines the aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm name as optional in the type of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm service , while it is REQUIRED for the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm service as indicated above. NNoottee:: See the primer [_W_S_D_L_ _2_._0_ _P_r_i_m_e_r] for more information and examples. 22..1133..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh sseerrvviiccee [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm together with the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm forms the QName of the service. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name * A [namespace name] which has no value The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..1133..22..22 iinntteerrffaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh sseerrvviiccee [[oowwnneerr]] The interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm identifies the interface that the service is an instance of. The interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of interface * A [namespace name] which has no value The type of the interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee... 22..1133..33 MMaappppiinngg SSeerrvviiccee''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Service component (see _22_.._11_33_.._11_ _TT_hh_ee _SS_ee_rr_vv_ii_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the service eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_33_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _SS_ee_rr_vv_ii_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_4. TT_aa_bb_ll_ee_ _22_--_11_44_.._ _MM_aa_pp_pp_ii_nn_gg_ _bb_ee_tt_ww_ee_ee_nn_ _SS_ee_rr_vv_ii_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss_ _aa_nn_dd_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oonn |_PP_rr_oo_pp_ee_rr_tt_yy_ _ _ _ _ _ _ _ _ _ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _ _ _ _ _ _ _ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _n_a_m_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ | | |The actual value of the targetNamespace aattttrriibbuuttee | |{target namespace}|iinnffoorrmmaattiioonn iitteemm of the [parent] definitions eelleemmeenntt | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{interface} |The Interface component resolved to by the actual value of| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_t_h_e_ _i_n_t_e_r_f_a_c_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{endpoints} |The Endpoint components corresponding to the endpoint | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ee_ll_ee_mm_ee_nn_tt_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_s_ _i_n_ _[_c_h_i_l_d_r_e_n_]_ _i_f_ _a_n_y_._ _ _ _ _ _ _ _ _ _ _ | 22..1144 EEnnddppooiinntt 22..1144..11 TThhee EEnnddppooiinntt CCoommppoonneenntt An Endpoint component defines the particulars of a specific endpoint at which a given service is available. Endpoint components are local to a given Service component; they cannot be referred to by QName. The properties of the Endpoint component are as follows: * {name} An NCName as defined by [_X_M_L_ _N_a_m_e_s_p_a_c_e_s]. * {binding} A named Binding component. For each Endpoint component in the {endpoints} property of a Service component, the {binding} property (see _22_.._11_44_.._11_ _TT_hh_ee_ _EE_nn_dd_pp_oo_ii_nn_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) MUST either be a Binding component with an unspecified {interface} property (see _22_.._99_.._11_ _TT_hh_ee _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt or a Binding component with an {interface} property equal to the {interface} property of the Service component. For each Endpoint component in the {endpoints} property of a Service component, the {name} property MUST be unique. 22..1144..22 XXMMLL RReepprreesseennttaattiioonn ooff EEnnddppooiinntt CCoommppoonneenntt ? + The XML representation for a Endpoint component is an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of endpoint . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * Two or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_44_.._22_.._11_ _nn_aa_mm_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ee_nn_dd_pp_oo_ii_nn_tt_ _[[_oo_ww_nn_ee_rr_]]. o A REQUIRED binding aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _22_.._11_44_.._22_.._22_ _bb_ii_nn_dd_ii_nn_gg_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ee_nn_dd_pp_oo_ii_nn_tt_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], in order, as follows: 1. An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). 2. Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are considered to be endpoint extension elements (see _22_.._11_44_.._22_.._33_ _EE_nn_dd_pp_oo_ii_nn_tt_ _ee_xx_tt_ee_nn_ss_ii_oo_nn_ _ee_ll_ee_mm_ee_nn_tt_ss). 22..1144..22..11 nnaammee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh eennddppooiinntt [[oowwnneerr]] The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm together with the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm forms the QName of the endpoint. The name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of name . * A [namespace name] which has no value. The type of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::NNCCNNaammee. 22..1144..22..22 bbiinnddiinngg aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh eennddppooiinntt [[oowwnneerr]] The binding aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm refers, by QName, to a Binding component The binding aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of binding * A [namespace name] which has no value The type of the binding aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::QQNNaammee. 22..1144..22..33 EEnnddppooiinntt eexxtteennssiioonn eelleemmeennttss Endpoint extension elements are used to provide information specific to a particular endpoint in a server. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are defined by the specification for those eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Such specifications are expected to annotate the Endpoint component with additional properties and specify the mapping between those properties and the XML representation. 22..1144..33 MMaappppiinngg EEnnddppooiinntt''ss XXMMLL RReepprreesseennttaattiioonn ttoo CCoommppoonneenntt PPrrooppeerrttiieess The mapping between the properties of the Endpoint component (see _22_.._11_44_.._11_ _TT_hh_ee _EE_nn_dd_pp_oo_ii_nn_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) and the XML Representation of the endpoint eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _22_.._11_44_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _EE_nn_dd_pp_oo_ii_nn_tt_ _CC_oo_mm_pp_oo_nn_ee_nn_tt) is as described in _T_a_b_l_e_ _2_-_1_5. TTaabbllee 22--1155.. MMaappppiinngg bbeettwweeeenn EEnnddppooiinntt CCoommppoonneenntt PPrrooppeerrttiieess aanndd XXMMLL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_PP_rr_oo_pp_ee_rr_tt_yy_ _|_MM_aa_pp_pp_ii_nn_gg_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_{_n_a_m_e_}_ _ _ _|_T_h_e_ _a_c_t_u_a_l_ _v_a_l_u_e_ _o_f_ _t_h_e_ _n_a_m_e_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ | |{binding}|The Binding component resolved to by the actual value of the| |_ _ _ _ _ _ _ _ _ _|_b_i_n_d_i_n_g_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | 22..1155 EEqquuiivvaalleennccee ooff CCoommppoonneennttss Two components of the same type are considered equivalent if, for each property, the value in the first component is the same as the value in the second component. With respect to top-level components (Interfaces, Bindings and Services) this effectively translates to name-based equivalence given the constraints on names. That is, given two top-level components of the same type, if their {name} properties have the same value and their {target namespace} properties have the same values then the two components are in fact, the same component. 22..1166 SSyymmbbooll SSppaacceess This specification defines three symbol spaces, one for each top-level component type (Interface, Binding and Service). Within a symbol space, all qualified names (that is, the combination of {name} and {target namespace} properties) are unique. Between symbol spaces, the combination of these two properties need not be unique. Thus it is perfectly coherent to have, for example, a binding and an interface that have the same name. When XML Schema is being used as one of the type systems for a WSDL description, then six other symbol spaces also exist, one for each of: global element declarations, global attribute declarations, named model groups, named attribute groups, type definitions and key constraints, as defined by [_X_M_L _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s]. Other type systems may define additional symbol spaces. 22..1177 QQNNaammee rreessoolluuttiioonn In its serialized form WSDL makes significant use of references between components. Such references are made using the Qualified Name, or QName, of the component being referred to. QNames are a tuple, consisting of two parts; a namespace name and a local name. For example, in the case of an Interface component, the namespace name is represented by the {namespace name} property and the local name is represented by the {name} property. QName references are resolved by looking in the appropriate property of the Definitions component. For example, to resolve a QName of an interface (as referred to by the interface aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on a binding), the {interfaces} property of the Definitions component would be inspected. If the appropriate property of the Definitions component does not contain a component with the required QName then the reference is a broken reference. It is an error for a Definitions component to have such broken references. 22..1188 CCoommppaarriinngg UURRIIss This specification uses absolute URIs to identify several components (for example, features and properties) and components characteristics (for example, operation message exchange patterns and styles). When such absolute URIs are being compared to determine equivalency (see _22_.._11_55_ _EE_qq_uu_ii_vv_aa_ll_ee_nn_cc_ee_ _oo_ff_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ss) the URIs MUST be compared character-by-character as indicated in [_T_A_G_ _U_R_I _F_I_N_D_I_N_G]. 33.. TTyyppeess ? [eexxtteennssiioonn eelleemmeennttss]* At the abstract level, the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt is a collection of imported and embedded schema components. By design, WSDL supports any schema language for which the syntax and semantics of import (i.e., the ability to import some schema by reference) or embed (i.e., the ability to embed a schema directly into another document) have been defined. However, only the XML Schema implementation is defined in this specification. Instances of WSDL (i.e., WSDL documents) MAY require support for an alternative schema language by using the standard wsdl:required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm (any imported or embedded XML Schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemms may be regarded as having this aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm set). NNoottee:: Support for the W3C XML Schema Description Language [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], [_X_M_L_ _S_c_h_e_m_a_:_ _D_a_t_a_t_y_p_e_s] is required of all processors. The schema components contained in the {element declarations} properties of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt provide the type system used for Message Reference and Interface Fault components. Message Reference components indicate their structure and content by using the standard aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms element , or for alternate schema languages in which these concepts do not map well, by using alternative aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm extensions. Interface Fault components behave similarly. Such extensions should define how they reference type system components. Such type system components MAY appear in additional collection properties on _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt. The types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm encloses data type definitions used to define messages and has the following Infoset properties: * A [local name] of types . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms in its [attributes] property. The [namespace name] property of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be http://www.w3.org/2004/03/wsdl * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children] as follows: o An OPTIONAL documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn) in its [children] property. o Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemms from among the following, in any order: # xs:import eelleemmeenntt iinnffoorrmmaattiioonn iitteemms # xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemms # Other namespace qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms whose namespace is NOT http://www.w3.org/2004/03/wsdl 33..11 UUssiinngg WW33CC XXMMLL SScchheemmaa DDeessccrriippttiioonn LLaanngguuaaggee XML Schema MAY be used as the schema language via import or embedding. Each method defines a different eelleemmeenntt iinnffoorrmmaattiioonn iitteemm for use within a types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. All processors MUST support XML Schema type definitions. A WSDL description MUST NOT refer to XML Schema components in a given namespace unless an xs:import and/or xs:schema statement for that namespace is present. That is, using the xs:import and/or xs:schema constructs is a necessary condition for making XML Schema components available to a WSDL description. 33..11..11 IImmppoorrttiinngg XXMMLL SScchheemmaa Importing an XML Schema uses the syntax and semantics of the xs:import mechanism defined by XML Schema [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s],[_X_M_L_ _S_c_h_e_m_a_: _D_a_t_a_t_y_p_e_s], with some additional restrictions. The schema components defined in the imported schema are available for reference by QName (see _22_.._11_77_ _QQ_NN_aa_mm_ee _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). Note that only components defined in the schema itself and components included by it via xs:include are available to WSDL. Specifically, components that the schema imports via xs:import are NOT available to WSDL. A child eelleemmeenntt iinnffoorrmmaattiioonn iitteemm of the types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is defined with the Infoset properties as follows: * A [local name] of "import". * A [namespace name] of ""http://www.w3.org/2001/XMLSchema"". * One or two aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as follows: o A REQUIRED namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. o An OPTIONAL schemaLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. 33..11..11..11 nnaammeessppaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm defines the namespace of the element declarations imported from the referenced schema. The referenced schema MUST contain a targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on its xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm and the values of these two aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST be identical. It is an error to import a schema that does not have a targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on its xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. Such schemas must first be included (using xs:include ) in a schema that contains a targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on its xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, which can then be either imported or inlined in the WSDL document. The namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of namespace * A [namespace name] which has no value. The type of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. 33..11..11..22 sscchheemmaaLLooccaattiioonn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The schemaLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm, if present, provides a hint to the processor as to where the schema may be located. Caching and cataloging technologies may provide better information than this hint. The schemaLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following infoset properties: * A [local name] of schemaLocation. * A [namespace name] which has no value. The type of the schemaLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII.. 33..11..22 EEmmbbeeddddiinngg XXMMLL SScchheemmaa Embedding an XML schema uses the existing top-level xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm defined by XML Schema [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s]. It may be viewed as simply cutting and pasting an existing, stand-alone schema, to a location inside the types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The schema components defined in the embedded schema are available to WSDL for reference by QName (see _22_.._11_77_ _QQ_NN_aa_mm_ee_ _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). Note that only components defined in the schema itself and components included by it via xs:include are available to WSDL. Specifically components that the schema imports via xs: import are NOT available to WSDL. Similarly, components defined in an embedded XML schema are NOT automatically made available to a WSDL description that imported (using wsdl:import ) the description that embeds the schema (see _44_.._22_ _II_mm_pp_oo_rr_tt_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss for more details). For this reason, it is recommended that XML schema documents intended to be shared across several WSDL descriptions be placed in separate documents and imported using xs:import , rather than embedded inside a WSDL document. Inside an embedded XML schema, the xs:import and xs:include eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MAY be used to refer to other XML schemas embedded in the same WSDL description, provided that an appropriate value is specified for their schemaLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The semantics of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms are governed solely by the XML Schema specification [_X_M_L _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s]. The xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of schema. * A [namespace name] of "http://www.w3.org/2001/XMLSchema". * A REQUIRED targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm, amongst its [attributes] as described below. * Additional OPTIONAL aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as specified for the xs: schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm by the XML Schema specification. * Zero or more child eelleemmeenntt iinnffoorrmmaattiioonn iitteemms as specified for the xs: schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm by the XML Schema specification. 33..11..22..11 ttaarrggeettNNaammeessppaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm defines the namespace of the element declarations embedded in its [owner] xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. WSDL modifies the XML Schema definition of the xs:schema eelleemmeenntt iinnffoorrmmaattiioonn iitteemm to make this aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm required. The targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following infoset properties: * A [local name] of targetNamespace. * A [namespace name] which has no value. The type of the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. 33..11..33 RReeffeerreenncceess ttoo EElleemmeenntt DDeeccllaarraattiioonnss Whether embedded or imported, the element declarations present in a schema may be referenced from a Message Reference or Interface Fault component. A named, global xs:element declaration may be referenced from the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of an input , output or fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The QName is constructed from the targetNamespace of the schema and the value of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the xs:element eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. An element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm MUST NOT refer to a global xs:simpleType or xs:complexType definition. 33..22 UUssiinngg OOtthheerr SScchheemmaa LLaanngguuaaggeess Since it is unreasonable to expect that a single schema language can be used to describe all possible Message Reference and Fault component contents and their constraints, WSDL allows alternate schema languages to be specified via extensibility elements. An extensibility eelleemmeenntt iinnffoorrmmaattiioonn iitteemm MAY appear under the types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm to identify the schema language employed, and to locate the schema instance defining the grammar for Message Reference and Interface Fault components. Depending upon the schema language used, an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm MAY be defined to allow embedding, if and only if the schema language can be expressed in XML. A specification of extension syntax for an alternative schema language MUST include the declaration of an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, intended to appear as a child of the wsdl:types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, which references, names, and locates the schema instance (an "import" eelleemmeenntt iinnffoorrmmaattiioonn iitteemm). The extension specification SHOULD, if necessary, define additional properties of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt (and extensibility attributes) to hold the components of the referenced type system. It is expected that additional extensibility attributes for Message Reference and Interface Fault components will also be defined, along with a mechanism for resolving the values of those attributes to a particular imported type system component. See _EE_.._ _EE_xx_aa_mm_pp_ll_ee_ss_ _oo_ff_ _SS_pp_ee_cc_ii_ff_ii_cc_aa_tt_ii_oo_nn_ss_ _oo_ff_ _EE_xx_tt_ee_nn_ss_ii_oo_nn_ _EE_ll_ee_mm_ee_nn_tt_ss_ _ff_oo_rr_ _AA_ll_tt_ee_rr_nn_aa_tt_ii_vv_ee_ _SS_cc_hh_ee_mm_aa _LL_aa_nn_gg_uu_aa_gg_ee_ _SS_uu_pp_pp_oo_rr_tt_.. for examples of using other schema languages. These examples reuse the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt and the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms of the wsdl:input , wsdl:output and wsdl:fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. 44.. MMoodduullaarriizziinngg WWSSDDLL ddeessccrriippttiioonnss This specification provides two mechanisms, described in this section, for modularizing WSDL descriptions. These mechanisms help to make WSDL descriptions clearer by allowing separation of the various components of a description. Such separation could be performed according to the level of abstraction of a given set of components, or according to the namespace affiliation required of a given set of components or according to some other grouping such as application applicability. Both mechanisms work at the level of WSDL components and NOT at the level of XML Information Sets or XML 1.0 serializations. 44..11 IInncclluuddiinngg DDeessccrriippttiioonnss ? The WSDL include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm allows for the separation of different components of a service definition, belonging the same target namespace, into independent WSDL documents which can be merged as needed. The WSDL include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is modeled after the XML Schema include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], section 4.2.3 "References to schema components in the same namespace"). Specifically, it can be used to include components from WSDL descriptions that share a target namespace with the including description. Components in ddiirreeccttllyy included descriptions become part of the component model of the including description. Directly included means that component inclusion is not transitive; components included by one of the included documents are nnoott available to the original including document unless the are included directly by that document. The included components can be referenced by QName. Note that because all WSDL descriptions have a target namespace, no-namespace includes (sometimes known as "chameleon includes") never occur in WSDL. A mutual include is direct inclusion by one WSDL document of another WSDL document which includes the first. A circular include achieves the same effect with greater indirection (WSDL A includes WSDL B includes WSDL A, for instance). Multiple inclusion of a single WSDL document resolves to a single set of components. Mutual, multiple, and circular includes are explicitly permitted, and do not represent multiple redefinitions of the same components. Multiple inclusion of a single WSDL document has the same meaning as including it only once. Processors are encouraged to keep track of the source of component definitions, so that multiple, mutual, and circular includes do not require establishing identity on a component-by-component basis. The include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has: * A [local name] of include . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * One or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _44_.._11_.._11_ _ll_oo_cc_aa_tt_ii_oo_nn_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ii_nn_cc_ll_uu_dd_ee_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], as follows: o An optional documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). o Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 44..11..11 llooccaattiioonn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iinncclluuddee [[oowwnneerr]] The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of location . * A [namespace name] which has no value. A location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is of type xs:anyURI . Its actual value is the location of some information about the namespace identified by the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the containing definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. If the URI indicated by location is not dereferenceable or does not resolve to a WSDL document then the processor MUST fail immediately. That is, include elements MUST be processed immediately by WSDL processors. The actual value of the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the included WSDL document MUST match the actual value of the targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the definitions eelleemmeenntt iinnffoorrmmaattiioonn iitteemm which is the [parent] of the include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. 44..22 IImmppoorrttiinngg DDeessccrriippttiioonnss ? The WSDL import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, like the include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _44_.._11_ _II_nn_cc_ll_uu_dd_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss) also allows for the separation of the different components of a WSDL description into independent descriptions, but in this case with different target namespaces, which can be imported as needed. This technique helps writing clearer WSDL descriptions by separating the definitions according to their level of abstraction, and maximizes reusability. The WSDL import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is modeled after the XML Schema import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see [_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s], section 4.2.3 "References to schema components across namespaces"). Specifically, it can be used to import components from WSDL descriptions that do not share a target namespace with the importing document. Components in ddiirreeccttllyy imported descriptions are part of the component model of the importing description. Directly imported means that component importation is not transitive; components imported by one of the imported documents are nnoott available to the original importing document unless the are imported directly by that document. The imported components can be referenced by QName. Using the import construct is a necessary condition for making components from another namespace available to a WSDL description. That is, a WSDL description MUST NOT refer to components in a namespace other than the target namespace unless an import statement for that namespace is present. The same considerations apply to schemas embedded in an imported WSDL description (see _33_.._11_.._22_ _EE_mm_bb_ee_dd_dd_ii_nn_gg_ _XX_MM_LL_ _SS_cc_hh_ee_mm_aa). More explicitely, components defined by an XML schema document embedded inside an imported WSDL description are NOT made available to the importer unless the latter contains an explicit xs:import statement to that purpose. This specification DOES NOT preclude repeating the import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm for the same value of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as long as they provide different values for the location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. Repeating the import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm for the same namespace value MAY be used as a way to provide alternate locations to find information about a given namespace. Furthermore, this specification DOES NOT require the location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm to be dereferenceable. If it is not dereferenceable then no information about the imported namespace is provided by that import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. It is possible that such lack of information results in QNames in other parts of a WSDL Definitions component to become broken references (see _22_.._11_77_ _QQ_NN_aa_mm_ee_ _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn). Such broken references are not errors of the imports eelleemmeenntt iinnffoorrmmaattiioonn iitteemm but rather QName resolution errors which must be detected as described in _22_.._11_77_ _QQ_NN_aa_mm_ee_ _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn. The import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of import . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * Two or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms amongst its [attributes] as follows: o A REQUIRED namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _44_.._22_.._11_ _nn_aa_mm_ee_ss_pp_aa_cc_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm. o An OPTIONAL location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below in _44_.._22_.._22_ _ll_oo_cc_aa_tt_ii_oo_nn_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ww_ii_tt_hh_ _ii_mm_pp_oo_rr_tt_ _[[_oo_ww_nn_ee_rr_]]. o Zero or more namespace qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms. The [namespace name] of such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". * Zero or more eelleemmeenntt iinnffoorrmmaattiioonn iitteemm amongst its [children], as follows: o An optional documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm (see _55_.. _DD_oo_cc_uu_mm_ee_nn_tt_aa_tt_ii_oo_nn). o Zero or more namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms amongst its [children]. The [namespace name] of such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MUST NOT be "http://www.w3.org/2004/03/wsdl". 44..22..11 nnaammeessppaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of namespace . * A [namespace name] which has no value. The namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is of type xs:anyURI . Its actual value indicates that the containing WSDL document MAY contain qualified references to WSDL definitions in that namespace (via one or more prefixes declared with namespace declarations in the normal way). This value MUST NOT match the actual value of the enclosing WSDL document targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. If the import statement results in the import of a WSDL document then the actual value of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm MUST be identical to the actual value of the imported WSDL document's targetNamespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. 44..22..22 llooccaattiioonn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm wwiitthh iimmppoorrtt [[oowwnneerr]] The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of location . * A [namespace name] which has no value. The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is of type xs:anyURI . Its actual value is the location of some information about the namespace identified by the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is optional. This allows WSDL components to be constructed from information other than serialized XML 1.0. It also allows the development of WSDL processors that have aa pprriioorrii (i.e., built- in) knowledge of certain namespaces. 55.. DDooccuummeennttaattiioonn [eexxtteennssiioonn eelleemmeennttss]* WSDL uses the optional documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm as a container for human readable and/or machine processable documentation. The content of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is arbitrary cchhaarraacctteerr iinnffoorrmmaattiioonn iitteemmss and eelleemmeenntt iinnffoorrmmaattiioonn iitteemms ("mixed" content in XML Schema[_X_M_L_ _S_c_h_e_m_a_:_ _S_t_r_u_c_t_u_r_e_s]). The documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is allowed inside any WSDL eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The documentation eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has: * A [local name] of documentation . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * Zero or more aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms in its [attributes] property. * Zero or more child eelleemmeenntt iinnffoorrmmaattiioonn iitteemms in its [children] property. * Zero or more cchhaarraacctteerr iinnffoorrmmaattiioonn iitteemms in its [children] property. 66.. LLaanngguuaaggee EExxtteennssiibbiilliittyy The schema for WSDL has a two-part extensibility model based on namespace- qualified elements and attributes. The extension is identified by the qname consisting of its namespace URI and its element name. The meaning of the extension SHOULD be defined (directly or indirectly) in a document that is available at its namespace URI. 66..11 EElleemmeenntt bbaasseedd EExxtteennssiibbiilliittyy WSDL allows extensions to be defined in terms of eelleemmeenntt iinnffoorrmmaattiioonn iitteemms. Where indicated herein, WSDL allows namespace-qualified eelleemmeenntt iinnffoorrmmaattiioonn iitteemms whose [namespace name] is NOT "http://www.w3.org/2004/03/wsdl" to appear among the [children] of specific eelleemmeenntt iinnffoorrmmaattiioonn iitteemms whose [namespace name] is "http://www.w3.org/2004/03/wsdl". Such eelleemmeenntt iinnffoorrmmaattiioonn iitteemms MAY be used to annotate WSDL constructs such as interface, operation, etc. It is expected that extensions will want to add to the existing properties of components in the component model. The specification for an extension eelleemmeenntt iinnffoorrmmaattiioonn iitteemm should include definitions of any such properties and the mapping between the XML representation of the extension and the properties in the component model. The WSDL schema also defines a base type for use by extensibility elements. _E_x_a_m_p_l_e_ _6_-_1 shows the type definition. The use of this type as a base type is optional. The element declarations which serve as the heads of the defined substitution groups are all of type "xs:anyType". Extensibility elements are commonly used to specify some technology-specific binding. They allow innovation in the area of network and message protocols without having to revise the base WSDL specification. WSDL recommends that specifications defining such protocols also define any necessary WSDL extensions used to describe those protocols or formats. Example 6-1. Base type for extensibility elements 66..11..11 MMaannddaattoorryy eexxtteennssiioonnss Extension elements can be marked as mandatory by annotating them with a wsdl: required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm (see _66_.._11_.._22_ _rr_ee_qq_uu_ii_rr_ee_dd_ _aa_tt_tt_rr_ii_bb_uu_tt_ee_ _ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn _ii_tt_ee_mm) with a value of "true". A mandatory extension is an extension that MAY change the meaning of the element to which it is attached, such that the meaning of that element is no longer governed by this specification. Instead, the meaning of an element containing a mandatory extension is governed by the meaning of that extension. Thus, the definition of the element's meaning is ddeelleeggaatteedd to the specification that defines the extension. An extension that is NOT marked as mandatory MUST NOT invalidate the meaning of any part of the WSDL document. Thus, a NON-mandatory extension merely provides additional description of capabilities of the service. Furthermore, any extension that is NOT marked as mandatory and which is NOT understood, MUST be ignored. Any NOT understood extension attributes MUST be ignored as this specification does not provide a mechanism to mark extension attributes as being required. NNoottee:: A mandatory extension is considered mandatory because it has the ability to change the meaning of the element to which it is attached. Thus, the meaning of the element may not be fully understood without understanding the attached extension. A NON-mandatory extension, on the other hand, can be safely ignored without danger of misunderstanding the rest of the WSDL document. 66..11..22 rreeqquuiirreedd aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm WSDL provides a global aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of required . * A [namespace name] of "http://www.w3.org/2004/03/wsdl". * A [specified] property with a value of "true". The type of the required aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::bboooolleeaann. 66..22 AAttttrriibbuuttee--bbaasseedd EExxtteennssiibbiilliittyy WSDL allows qualified aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms whose [namespace name] is NOT "http://www.w3.org/2004/03/wsdl" to appear on any eelleemmeenntt iinnffoorrmmaattiioonn iitteemm whose namespace name IS "http://www.w3.org/2004/03/wsdl". Such aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms can be used to annotate WSDL constructs such as interfaces, bindings, etc. WSDL does not provide a mechanism for marking extension aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as mandatory. 66..33 EExxtteennssiibbiilliittyy SSeemmaannttiiccss As indicated above, it is expected that the presence of extensibility elements and attributes will result in additional properties appearing in the component model. The presence of an optional extensibility element or attribute MAY therefore augment the semantics of a WSDL document in ways that do not invalidate the existing semantics. However, the presence of a mandatory extensibility element MAY alter the semantics of a WSDL document in ways that invalidate the existing semantics. NNoottee:: Authors of extensibility elements should avoid altering the existing semantics in ways that are likely to confuse users. 77.. LLooccaattiinngg WWSSDDLL DDooccuummeennttss As an XML vocabulary, WSDL documents or fragments or references to WSDL components (via QNames) MAY appear within other XML documents. In such scenarios it could be necessary to provide some hints on where additional WSDL information for a given namespace can be found in order to help with QName resolution _22_.._11_77_ _QQ_NN_aa_mm_ee_ _rr_ee_ss_oo_ll_uu_tt_ii_oo_nn. This specification defines a global attribute, wsdlLocation in the namespace "http://www.w3.org/2004/03/wsdl-instance" for this purpose (hereafter referred to as "wsdli:wsdlLocation"). This global attribute MAY appear on any XML element which allows attributes from other namespaces to occur. It MUST NOT appear on a wsdl:definitions element or any of its children/descendants. 77..11 wwssddllii::wwssddllLLooccaattiioonn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm WSDL provides a global aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm with the following Infoset properties: * A [local name] of wsdlLocation . * A [namespace name] of "http://www.w3.org/2004/03/wsdl-instance". The type of the wsdlLocation aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is a list xxss::aannyyUURRII. Its actual value MUST be a list of pairs of URIs; where the first URI of a pair, which MUST be an absolute URI as defined in [_I_E_T_F_ _R_F_C_ _2_3_9_6], indicates a WSDL namespace name, and, the second a hint as to the location of a WSDL document defining WSDL components for that namespace name. The second URI of a pair MAY be abolute or relative. 88.. CCoonnffoorrmmaannccee 88..11 DDooccuummeenntt CCoonnffoorrmmaannccee An eelleemmeenntt iinnffoorrmmaattiioonn iitteemm whose namespace name is "http://www.w3.org/2004/03/ wsdl" and whose local part is definitions conforms to this specification if conforms to the XML Schema for that element as defined by this specification family and additionally adheres to all the constraints contained in this specification. 88..22 XXMMLL IInnffoorrmmaattiioonn SSeett CCoonnffoorrmmaannccee This specification conforms to the [_X_M_L_ _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t]. The following information items MUST be present in the input infosets to enable correct processing of WSDL documents: * DDooccuummeenntt IInnffoorrmmaattiioonn IItteemmss with cchhiillddrreenn and bbaassee UURRII properties. * EElleemmeenntt IInnffoorrmmaattiioonn IItteemmss with nnaammeessppaaccee nnaammee, llooccaall nnaammee, cchhiillddrreenn, aattttrriibbuutteess, bbaassee UURRII and ppaarreenntt properties. * AAttttrriibbuuttee IInnffoorrmmaattiioonn IItteemmss with nnaammeessppaaccee nnaammee, llooccaall nnaammee and nnoorrmmaalliizzeedd vvaalluuee properties. * CChhaarraacctteerr IInnffoorrmmaattiioonn IItteemmss with cchhaarraacctteerr ccooddee, eelleemmeenntt ccoonntteenntt wwhhiitteessppaaccee and ppaarreenntt properties. 88..33 PPrroocceessssoorr CCoonnffoorrmmaannccee This section defines a class of conformant WSDL processors that are intended to act on behalf of a party that wishes to make use of a Web service (i.e., the requester entity or requester agent), rather than the party that implements the Web service (i.e., the provider entity or provider agent). An extension element is said to be pprroocceesssseedd if the WSDL processor decides (through whatever means) that its parent (an eelleemmeenntt iinnffoorrmmaattiioonn iitteemm in the "http://www.w3.org/2004/03/wsdl" namespace) will be processed. Note that it is possible for WSDL processors to process only a subset of a given WSDL document. For instance, a tool may wish to focus on interfaces and operations only, and ignore bindings. A conformant WSDL processor MUST adhere to the following rules: * Except as noted below for mandatory extensions, a conformant WSDL processor MUST accept any legal WSDL document as defined by this specification. * A conformant WSDL processor MUST fault if a portion of a WSDL document is illegal according to this specification and the WSDL processor attempts to process that portion. * A conformant WSDL processor MUST support at least XML Schema as a type system language. * A conformant WSDL processor MUST fail if it processes an element containing a wsdl:include statement having a URI that is not dereferenceable to a legal WSDL document. * If a mandatory extension (i.e., a mandatory element, feature or property) is processed, a conformant WSDL processor MUST either agree to fully abide by all the rules and semantics signaled by that extension, or immediately cease processing (fault). In particular, if the WSDL processor does not recognize the extension, it MUST fault. If the WSDL processor recognizes the extension, and determines that the extension in question is incompatible with any other aspect of the document (including other required extensions), it MUST fault. * A conformant WSDL processor MAY safely ignore a NON-mandatory extension that it does not recognize or that it does not choose to implement. 99.. XXMMLL SSyynnttaaxx SSuummmmaarryy ((NNoonn--NNoorrmmaattiivvee)) ? ? * ? * ? ? ? * ? ? * ? * ? * ? * * * * ? * ? xxss::aannyyTTyyppee ? xxss::QQNNaammee ? * * ? ? * ? ? * ? * * * * * * * ? ? * * 1100.. RReeffeerreenncceess 1100..11 NNoorrmmaattiivvee RReeffeerreenncceess [IETF RFC 2119] _K_e_y_ _w_o_r_d_s_ _f_o_r_ _u_s_e_ _i_n_ _R_F_C_s_ _t_o_ _I_n_d_i_c_a_t_e_ _R_e_q_u_i_r_e_m_e_n_t_ _L_e_v_e_l_s, S. Bradner, Author. Internet Engineering Task Force, June 1999. Available at http:// www.ietf.org/rfc/rfc2119.txt. [IETF RFC 2396] _U_n_i_f_o_r_m_ _R_e_s_o_u_r_c_e_ _I_d_e_n_t_i_f_i_e_r_s_ _(_U_R_I_)_:_ _G_e_n_e_r_i_c_ _S_y_n_t_a_x, T. Berners-Lee, R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at http://www.ietf.org/rfc/rfc2396.txt. [XML 1.0] _E_x_t_e_n_s_i_b_l_e_ _M_a_r_k_u_p_ _L_a_n_g_u_a_g_e_ _(_X_M_L_)_ _1_._0_ _(_S_e_c_o_n_d_ _E_d_i_t_i_o_n_), T. Bray, J. Paoli, C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide Web Consortium, 10 February 1998, revised 6 October 2000. This version of the XML 1.0 Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006. The _l_a_t_e_s_t _v_e_r_s_i_o_n_ _o_f_ _X_M_L_ _1_._0 is available at http://www.w3.org/TR/REC-xml. [XML Information Set] _X_M_L_ _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t, J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 24 October 2001. This version of the XML Information Set Recommendation is http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _X_M_L_ _I_n_f_o_r_m_a_t_i_o_n_ _S_e_t is available at http://www.w3.org/ TR/xml-infoset. [XML Namespaces] _N_a_m_e_s_p_a_c_e_s_ _i_n_ _X_M_L, T. Bray, D. Hollander, and A. Layman, Editors. World Wide Web Consortium, 14 January 1999. This version of the XML Information Set Recommendation is http://www.w3.org/TR/1999/REC-xml-names-19990114. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _N_a_m_e_s_p_a_c_e_s_ _i_n_ _X_M_L is available at http:// www.w3.org/TR/REC-xml-names. [XML Schema: Structures] _X_M_L_ _S_c_h_e_m_a_ _P_a_r_t_ _1_:_ _S_t_r_u_c_t_u_r_e_s, H. Thompson, D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 1 Recommendation is http://www.w3.org/TR/2001/REC- xmlschema-1-20010502. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _X_M_L_ _S_c_h_e_m_a_ _P_a_r_t_ _1 is available at http://www.w3.org/TR/xmlschema-1. [XML Schema: Datatypes] _X_M_L_ _S_c_h_e_m_a_ _P_a_r_t_ _2_:_ _D_a_t_a_t_y_p_e_s, P. Byron and A. Malhotra, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 2 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _X_M_L_ _S_c_h_e_m_a_ _P_a_r_t_ _2 is available at http://www.w3.org/TR/ xmlschema-2. [RFC 3023] IETF "RFC 3023: XML Media Types", M. Murata, S. St. Laurent, D. Kohn, July 1998. (See_h_t_t_p_:_/_/_w_w_w_._i_e_t_f_._o_r_g_/_r_f_c_/_r_f_c_3_0_2_3_._t_x_t.) [WSDL MediaType] IETF Internet Draft "The 'application/wsdl+xml' media type", @@@. (Work to be done once we have consensus on the media type). [WSDL 2.0 Bindings] _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _(_W_S_D_L_)_ _V_e_r_s_i_o_n_ _1_._2_:_ _B_i_n_d_i_n_g_s, J-J. Moreau, J. Schlimmer, Editors. World Wide Web Consortium, 11 June 2003. This version of the "Web Services Description Version 2.0: Bindings" Specification is available at http://www.w3.org/TR/2003/WD-wsdl12-bindings-20030611. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _"_W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _V_e_r_s_i_o_n_ _1_._2_:_ _B_i_n_d_i_n_g_s_" is available at http://www.w3.org/TR/wsdl12-bindings. [WSDL 2.0 Message Exchange Patterns] _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _L_a_n_g_u_a_g_e_ _(_W_S_D_L_)_ _V_e_r_s_i_o_n_ _2_._0_ _P_a_r_t_ _2_:_ _M_e_s_s_a_g_e _E_x_c_h_a_n_g_e_ _P_a_t_t_e_r_n_s, M. Gudgin, A. Lewis, and J. Schlimmer, Editors. World Wide Web Consortium, 26 March 2004. This version of the "Web Services Description Version 2.0: Message Exchange Patterns" Specification is available at http://www.w3.org/TR/2004/WD-wsdl20-patterns-20040326. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _"_W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _L_a_n_g_u_a_g_e_ _(_W_S_D_L_)_ _V_e_r_s_i_o_n_ _2_._0 _P_a_r_t_ _2_:_ _M_e_s_s_a_g_e_ _E_x_c_h_a_n_g_e_ _P_a_t_t_e_r_n_s_" is available at http://www.w3.org/TR/ wsdl20-patterns. [WSDL 2.0 RDF Mapping] To be written. [TAG URI FINDING] _T_A_G_ _F_i_n_d_i_n_g_ _o_n_ _U_R_I_ _C_o_m_p_a_r_i_s_n, X. Foo, Y. Bar, Authors. W3C Technical Architecture Group, Month, Year. Available at http://www.w3.org/2001/tag/ findings/ZZZZ. [Web Architecture] _A_r_c_h_i_t_e_c_t_u_r_e_ _o_f_ _t_h_e_ _W_o_r_l_d_ _W_i_d_e_ _W_e_b_,_ _F_i_r_s_t_ _E_d_i_t_i_o_n, Ian Jacobs, Editor. W3C Technical Architecture Group, December, 2003. Available at http:// www.w3.org/TR/2003/WD-webarch-20031209/. 1100..22 IInnffoorrmmaattiivvee RReeffeerreenncceess [IETF RFC 2045] _M_u_l_t_i_p_u_r_p_o_s_e_ _I_n_t_e_r_n_e_t_ _M_a_i_l_ _E_x_t_e_n_s_i_o_n_s_ _(_M_I_M_E_)_ _P_a_r_t_ _O_n_e_:_ _F_o_r_m_a_t_ _o_f_ _I_n_t_e_r_n_e_t _M_e_s_s_a_g_e_ _B_o_d_i_e_s, N. Freed, N. Borenstein, Authors. Internet Engineering Task Force, November 1996. Available at http://www.ietf.org/rfc/ rfc2045.txt. [IETF RFC 2616] _H_y_p_e_r_t_e_x_t_ _T_r_a_n_s_f_e_r_ _P_r_o_t_o_c_o_l_ _-_-_ _H_T_T_P_/_1_._1, R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, Authors. Internet Engineering Task Force, June 1999. Available at http:// www.ietf.org/rfc/rfc2616.txt. [SOAP 1.1] _S_i_m_p_l_e_ _O_b_j_e_c_t_ _A_c_c_e_s_s_ _P_r_o_t_o_c_o_l_ _(_S_O_A_P_)_ _1_._1, D. Box, D. Ehnebuske, G. Kakivaya, A. Layman, N. Mendelsohn, H. Frystyk Nielsen, S. Thatte, D. Winer, Editors. World Wide Web Consortium, 8 May 2000. This version of the Simple Object Access Protocol 1.1 Note is http://www.w3.org/TR/2000/ NOTE-SOAP-20000508. [SOAP 1.2 Part 1: Messaging Framework] _S_O_A_P_ _V_e_r_s_i_o_n_ _1_._2_ _P_a_r_t_ _1_:_ _M_e_s_s_a_g_i_n_g_ _F_r_a_m_e_w_o_r_k, M. Gudgin, M. Hadley, N. Mendelsohn, J-J. Moreau, H. Frystyk Nielsen, Editors. World Wide Web Consortium, 24 June 2003. This version of the "SOAP Version 1.2 Part 1: Messaging Framework" Recommendation is http://www.w3.org/TR/2003/REC- soap12-part1-20030624/. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _"_S_O_A_P_ _V_e_r_s_i_o_n_ _1_._2_ _P_a_r_t_ _1_: _M_e_s_s_a_g_i_n_g_ _F_r_a_m_e_w_o_r_k_" is available at http://www.w3.org/TR/soap12-part1/. [XML Linking] _X_M_L_ _L_i_n_k_i_n_g_ _L_a_n_g_u_a_g_e_ _(_X_L_i_n_k_)_ _V_e_r_s_i_o_n_ _1_._0, S. DeRose, E. Maler, D. Orchard, Editors. World Wide Web Consortium, 27 June 2001. This version of the XML Linking Language 1.0 Recommendation is http://www.w3.org/TR/ 2001/REC-xlink-20010627. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _X_M_L_ _L_i_n_k_i_n_g_ _L_a_n_g_u_a_g_e_ _1_._0 is available at http://www.w3.org/TR/xlink. [WSDL 1.1] _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _L_a_n_g_u_a_g_e_ _(_W_S_D_L_)_ _1_._1, E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana, Authors. World Wide Web Consortium, 15 March 2002. This version of the Web Services Description Language 1.1 Note is http://www.w3.org/TR/2001/NOTE-wsdl-20010315. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n _o_f_ _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _L_a_n_g_u_a_g_e_ _1_._1 is available at http:// www.w3.org/TR/wsdl. [WSDL 2.0 Primer] _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _(_W_S_D_L_)_ _V_e_r_s_i_o_n_ _2_._0_:_ _P_r_i_m_e_r, K. Sankar, K. Liu, D. Booth, Editors. World Wide Web Consortium, 26 March 2004. The editors' version of the Web Services Description Version 2.0: Primer document is available from http://www.w3.org/2002/ws/desc/. [WSD Requirements] _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n_ _R_e_q_u_i_r_e_m_e_n_t_s, J. Schlimmer, Editor. World Wide Web Consortium, 28 October 2002. This version of the Web Services Description Requirements document is http://www.w3.org/TR/2002/WD-ws- desc-reqs-20021028. The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _W_e_b_ _S_e_r_v_i_c_e_s_ _D_e_s_c_r_i_p_t_i_o_n _R_e_q_u_i_r_e_m_e_n_t_s is available at http://www.w3.org/TR/ws-desc-reqs. [XPointer Framework] _X_P_o_i_n_t_e_r_ _F_r_a_m_e_w_o_r_k,Paul Grosso, Eve Maler, Jonathan Marsh, Norman Walsh, Editors. World Wide Web Consortium, 22 November 2002. This version of the XPointer Framework Proposed Recommendation is http://www.w3.org/TR/2003/ REC-xptr-framework-20030325/ The _l_a_t_e_s_t_ _v_e_r_s_i_o_n_ _o_f_ _X_P_o_i_n_t_e_r_ _F_r_a_m_e_w_o_r_k is available at http://www.w3.org/TR/xptr-framework/. AA.. TThhee ""aapppplliiccaattiioonn//wwssddll++xxmmll"" MMeeddiiaa TTyyppee _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_EE_dd_ii_tt_oo_rr_ii_aa_ll_ _nn_oo_tt_ee_::_ _JJ_JJ_MM_|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_0_0_2_1_1_0_7| |This was lifted from the SOAP 1.2 specification, and needs to be edited to| |reflect WSDL's own requirements. For example, the WG has not reached | |consensus on whether to use "text/xml", "text/wsdl+xml" or "application/ | |_w_s_d_l_+_x_m_l_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | This appendix defines the "application/wsdl+xml" media type which can be used to describe WSDL 2.0 documents serialized as XML. It is referenced by the corresponding IANA registration document [_W_S_D_L_ _M_e_d_i_a_T_y_p_e]. AA..11 RReeggiissttrraattiioonn MIME media type name: application MIME subtype name: wsdl+xml Required parameters: none Optional parameters: charset This parameter has identical semantics to the charset parameter of the "application/xml" media type as specified in [_R_F_C_ _3_0_2_3]. Encoding considerations: Identical to those of "application/xml" as described in [_R_F_C_ _3_0_2_3], section 3.2, as applied to the WSDL document infoset. Security considerations: See section _AA_.._22_ _SS_ee_cc_uu_rr_ii_tt_yy_ _cc_oo_nn_ss_ii_dd_ee_rr_aa_tt_ii_oo_nn_ss. Interoperability considerations: There are no known interoperability issues. Published specification: This document and [_W_S_D_L_ _2_._0_ _B_i_n_d_i_n_g_s]. Applications which use this media type: No known applications currently use this media type. Additional information: File extension: WSDL documents are not required or expected to be stored as files. Fragment identifiers: Either a syntax identical to that of "application/xml" as described in [_R_F_C_ _3_0_2_3], section 5 or the syntax defined in [_W_S_D_L_ _2_._0_ _R_D_F _M_a_p_p_i_n_g]. Base URI: As specified in [_R_F_C_ _3_0_2_3], section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: @@@ <@@@@> Intended usage: COMMON Author/Change controller: The WSDL 2.0 specification set is a work product of the World Wide Web Consortium's _W_e_b_ _S_e_r_v_i_c_e_ _D_e_s_c_r_i_p_t_i_o_n_ _W_o_r_k_i_n_g_ _G_r_o_u_p. The W3C has change control over these specifications. AA..22 SSeeccuurriittyy ccoonnssiiddeerraattiioonnss _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_EE_dd_ii_tt_oo_rr_ii_aa_ll_ _nn_oo_tt_ee_::_ _JJ_JJ_MM_|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_0_0_2_1_1_0_7| |_A_r_e_ _t_h_e_r_e_ _a_n_y_ _s_e_c_u_r_i_t_y_ _c_o_n_s_i_d_e_r_a_t_i_o_n_s_ _o_t_h_e_r_ _t_h_a_n_ _t_h_e_ _s_t_a_n_d_a_r_d_ _o_n_e_s_.| This media type uses the "+xml" convention, it shares the same security considerations as described in [_R_F_C_ _3_0_2_3], section 10. BB.. AAcckknnoowwlleeddggeemmeennttss ((NNoonn--NNoorrmmaattiivvee)) This document is the work of the _W_3_C_ _W_e_b_ _S_e_r_v_i_c_e_ _D_e_s_c_r_i_p_t_i_o_n_ _W_o_r_k_i_n_g_ _G_r_o_u_p. Members of the Working Group are (at the time of writing, and by alphabetical order): Mike Ballantyne (Electronic Data Systems), David Booth (W3C), Allen Brookes (Rogue Wave Softwave), Roberto Chinnici (Sun Microsystems), Glen Daniels (Sonic Software), Alan Davies (SeeBeyond), Mike Davoren (W. W. Grainger), Paul Downey (British Telecommunications), Youenn Fablet (Canon), Yaron Goland (BEA), Martin Gudgin (Microsoft Corporation), Hugo Haas (W3C), Hao He (The Thomson Corporation), Tom Jordahl (Macromedia), Jacek Kopecky (Systinet), Dan Kulp (IONA Technologies), Sandeep Kumar (Cisco Systems), Amelia Lewis (TIBCO Software, Inc.), Kevin Canyang Liu (SAP), Michael Mahan (Nokia), Jonathan Marsh (Microsoft Corporation), Mike McHugh (W. W. Grainger), Michael Mealling (Verisign), Ingor Melzer (DaimlerChrysler Research and Technology), Jeff Mischkinsky (Oracle Corporation), Dale Moberg (Cyclone Commerce), Jean- Jacques Moreau (Canon), David Orchard (BEA), Bijan Parsia (University of Maryland), Arthur Ryman (IBM), Waqar Sadiq (Electronic Data Systems), Adi Sakala (IONA Technologies), Jeffrey Schlimmer (Microsoft Corporation), Igor Sedukhin (Computer Associates), Sandra Swearingen (U.S. Department of Defense, U.S. Air Force), Bryan Thompson (Hicks & Associates), Jerry Thrasher (Lexmark), William Vambenepe (Hewlett-Packard Company), Asir Vedamuthu (webMethods, Inc.), Sanjiva Weerawarana (IBM), Ümit Yalçınalp (Oracle Corporation), Prasad Yendluri (webMethods, Inc.). Previous members were: Lily Liu (webMethods, Inc.), Don Wright (Lexmark), Joyce Yang (Oracle Corporation), Daniel Schutzer (Citigroup), Dave Solo (Citigroup), Stefano Pogliani (Sun Microsystems), William Stumbo (Xerox), Stephen White (SeeBeyond), Barbara Zengler (DaimlerChrysler Research and Technology), Tim Finin (University of Maryland), Laurent De Teneuille (L'Echangeur), Johan Pauhlsson (L'Echangeur), Mark Jones (AT&T), Steve Lind (AT&T), Philippe Le Hégaret (W3C), Jim Hendler (University of Maryland), Dietmar Gaertner (Software AG), Michael Champion (Software AG), Don Mullen (TIBCO Software, Inc.), Steve Graham (Global Grid Forum), Steve Tuecke (Global Grid Forum). The people who have contributed to _d_i_s_c_u_s_s_i_o_n_s_ _o_n_ _w_w_w_-_w_s_-_d_e_s_c_@_w_3_._o_r_g are also gratefully acknowledged. CC.. UURRII RReeffeerreenncceess ffoorr WWSSDDLL ccoonnssttrruuccttss ((NNoonn--NNoorrmmaattiivvee)) This appendix provides a syntax for URI references for named components found in a WSDL document. This includes the top level components: interface, binding and service and the subordinate components: operation, fault, and endpoint. The URI references are easy to understand and compare, while imposing no burden on the WSDL author. CC..11 WWSSDDLL UURRIIss There are two main cases for WSDL URIs: * the URI of a WSDL document * the URI of a WSDL namespace The URI of a WSDL document can be dereferenced to give a resource representation that contributes component definitions to a single WSDL namespace. If the media type is set to the WSDL media type, then the fragment identifiers can be used to identify the main components that are defined in the document. However, in keeping with the recommendation in _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt that the namespace URI be dereferencible to a WSDL document, this appendix specifies the use of the namespace URI with the WSDL fragment identifiers to form a URI-reference. CC..22 FFrraaggmmeenntt IIddeennttiiffiieerrss The following fragment identifier syntax is compliant with the [_X_P_o_i_n_t_e_r _F_r_a_m_e_w_o_r_k]. The URI in a URI-reference for a WSDL component is the {target namespace} property of either the component itself, in the case of interfaces, bindings, and services, or the {target namespace} property of an ancestor component. The URI provided by the {target namespace} property is combined with a fragment identifier, where the fragment identifier is constructed from the {name} property of the component and the {name} properties of its ancestors as a path according to _T_a_b_l_e_ _C_-_1. In that table the first column gives the name of the WSDL component as the [local name] of the eelleemmeenntt iinnffoorrmmaattiioonn iitteemm that represents that construct in a WSDL document. Columns two and three populate the variables x and y respectively. These variables are then used to construct the fragment in column four. _ _ _ _ _ _ _ _TT_aa_bb_ll_ee_ _CC_--_11_.._ _RR_uu_ll_ee_ss_ _ff_oo_rr_ _dd_ee_tt_ee_rr_mm_ii_nn_ii_nn_gg_ _ff_rr_aa_gg_mm_ee_nn_tt_ss_ _ff_oo_rr_ _WW_SS_DD_LL_ _cc_oo_nn_ss_tt_rr_uu_cc_tt_ss_ _ _ _ _ _ _ _ |_CC_oo_nn_ss_tt_rr_uu_cc_tt_|_xx_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_yy_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_FF_rr_aa_gg_mm_ee_nn_tt_ _ _ _ _ _ | |interface|{name} property of |n/a |interface(x) | |_ _ _ _ _ _ _ _ _ _|_i_n_t_e_r_f_a_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ | |operation|{name} property of |{name} property of parent|operation(y/x)| |_ _ _ _ _ _ _ _ _ _|_o_p_e_r_a_t_i_o_n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_i_n_t_e_r_f_a_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ | |fault |{name} property of fault |{name} property of parent|fault(y/x) | |_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_i_n_t_e_r_f_a_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_b_i_n_d_i_n_g_ _ _|_{_n_a_m_e_}_ _p_r_o_p_e_r_t_y_ _o_f_ _b_i_n_d_i_n_g_|_n_/_a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_b_i_n_d_i_n_g_(_x_)_ _ _ _ | |_s_e_r_v_i_c_e_ _ _|_{_n_a_m_e_}_ _p_r_o_p_e_r_t_y_ _o_f_ _s_e_r_v_i_c_e_|_n_/_a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_s_e_r_v_i_c_e_(_x_)_ _ _ _ | |endpoint |{name} property of |{name} property of parent|endpoint(y/x) | |_ _ _ _ _ _ _ _ _ _|_e_n_d_p_o_i_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_s_e_r_v_i_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ | Note that the above rules are defined in terms of component properties rather the XML Infoset representation of the component model. CC..33 EExxtteennssiioonn EElleemmeennttss WSDL has an open content model. It is therefore possible for an extension to define new components. The XPointer Framework scheme for components added by extensions is: extension(extension-namespace, extension-specific-syntax) where extension-namespace is the namespace that identifies the extension, e.g. for SOAP the namespace is http://www.w3.org/2003/06/wsdl/soap12, and extension- specific-syntax is defined by the extension. The owner of the extension must define any components contributed by the extension and a syntax for identifying them. CC..44 EExxaammppllee Consider the following WSDL located at http://example.org/TicketAgent.wsdl: Example C-1. URI References - Example WSDL Its conceptual elements have the following URI-references: Example C-2. URI References - Example URIs http://example.org/TicketAgent.wsdl20#interface(TicketAgent) http://example.org/TicketAgent.wsdl20#operation(TicketAgent/listFlights) http://example.org/TicketAgent.wsdl20#operation(TicketAgent/reserveFlight) DD.. MMiiggrraattiinngg ffrroomm WWSSDDLL 11..11 ttoo WWSSDDLL 22..00 ((NNoonn--NNoorrmmaattiivvee)) This section will attempt to document some of the migration concerns of going from WSDL 1.1 to WSDL 2.0. We do not claim that all migration problems will be addressed here. DD..11 OOppeerraattiioonn OOvveerrllooaaddiinngg WSDL 1.1 supported operation overloading and WSDL 2.0 removes it. This section will provide some rationale for it and provide hints on how to work around some scenarios. DD..22 PPoorrttTTyyppeess Port types have been renamed to interfaces. We now have interface inheritance. DD..33 PPoorrttss Ports have been renamed to endpoints. EE.. EExxaammpplleess ooff SSppeecciiffiiccaattiioonnss ooff EExxtteennssiioonn EElleemmeennttss ffoorr AAlltteerrnnaattiivvee SScchheemmaa LLaanngguuaaggee SSuuppppoorrtt.. ((NNoonn--NNoorrmmaattiivvee)) EE..11 DDTTDD A DTD may be used as the schema language for WSDL. It may not be embedded; it must be imported. A namespace must be assigned. DTD types appear in the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt and may be referenced from the wsdl:input , wsdl:output and wsdl:fault elements using the element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. The prefix, dtd, used throughout the following is mapped to the namespace URI "http://www.example.org/dtd/". The dtd:import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm references an external Document Type Definition, and has the following infoset properties: * A [local name] of import. * A [namespace name] of "http://www.example.org/dtd". * One or two aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms, as follows: o A REQUIRED namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. o An OPTIONAL location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. EE..11..11 nnaammeessppaaccee aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm sets the namespace to be used with all imported element definitions described in the DTD. It has the following infoset properties: * A [local name] of namespace. * A [namespace name] which has no value. The type of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. The WSDL author should ensure that a prefix is associated with the namespace at the proper scope (probably document scope). EE..11..22 llooccaattiioonn aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm, if present, provides a hint to the processor as to where the DTD may be located. Caching and cataloging technologies may provide better information than this hint. The location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following infoset properties: * A [local name] of location. * A [namespace name] which has no value. The type of the location aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. EE..11..33 RReeffeerreenncceess ttoo EElleemmeenntt DDeeffiinniittiioonnss The element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm MUST be used when referring to an element definition () from a Message Reference component; referring to an element definition from a Interface Fault component is similar. The value of the element definition MUST correspond to the content of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the dtd:import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The local name part must correspond to an element defined in the DTD. Note that this pattern does not attempt to make DTDs namespace-aware. It applies namespaces externally, in the import phase. EE..22 RREELLAAXX NNGG A RELAX NG schema may be used as the schema language for WSDL. It may be embedded or imported; import is preferred. A namespace must be specified; if an imported schema specifies one, then the [actual value] of the namespace aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm in the import eelleemmeenntt iinnffoorrmmaattiioonn iitteemm must match the specified namespace. RELAX NG provides both type definitions and element declarations, the latter appears in the {element declarations} property of _22_.._11_.._11_ _TT_hh_ee_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt respectively. The following discussion supplies the prefix rng which is mapped to the URI "http://www.relaxng.org/ns/structure/ 1.0". EE..22..11 IImmppoorrttiinngg RREELLAAXX NNGG Importing a RELAX NG schema uses the rng:include mechanism defined by RNG, with restrictions on its syntax and semantics. A child eelleemmeenntt iinnffoorrmmaattiioonn iitteemm of the types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm is defined with the Infoset properties as follows: * A [local name] of include. * A [namespace name] of "http://www.relaxng.org/ns/structure/1.0". * Two aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as follows: o A REQUIRED ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. o An OPTIONAL href aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm as described below. o Additional aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as defined by the RNG specification. Note that WSDL restricts the rng:include eelleemmeenntt iinnffoorrmmaattiioonn iitteemm to be empty. That is, it cannot redefine rng:start and rng:define eelleemmeenntt iinnffoorrmmaattiioonn iitteemms; it may be used solely to import a schema. EE..22..11..11 nnss aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm defines the namespace of the type and element definitions imported from the referenced schema. If the referenced schema contains an ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on its grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm, then the values of these two aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms must be identical. If the imported grammar does not have an ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm then the namespace specified here is applied to all components of the schema as if it did contain such an aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm. The ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm contains the following Infoset properties: * A [local name] of ns. * A [namespace name] which has no value. The type of the ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. EE..22..11..22 hhrreeff aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The href aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm must be present, according to the rules of the RNG specification. However, WSDL allows it to be empty, and considers it only a hint. Caching and cataloging technologies may provide better information that this hint. The href aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of href. * A [namespace name] which has no value. The type of the href aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. EE..22..22 EEmmbbeeddddiinngg RREELLAAXX NNGG Embedding an RNG schema uses the existing top-level rng:grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. It may be viewed as simply cutting and pasting an existing, stand-alone schema to a location inside the wsdl:types eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. The rng:grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm has the following Infoset properties: * A [local name] of grammar. * A [namespace name] of "http://www.relaxng.org/ns/structure/1.0". * A REQUIRED ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as described below. * Additional aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemms as specified for the rng:grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm in the RNG specification. * Child eelleemmeenntt iinnffoorrmmaattiioonn iitteemms as specified for the rng:grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm in the RNG specification. EE..22..22..11 nnss aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm The ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm defines the namespace of the type and element definitions embedded in this schema. WSDL modifies the RNG definition of the rng:grammar eelleemmeenntt iinnffoorrmmaattiioonn iitteemm to make this aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm required. The ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm has the following infoset properties: * A [local name] of ns. * A [namespace name] which has no value. The type of the ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm is xxss::aannyyUURRII. EE..22..33 RReeffeerreenncceess ttoo EElleemmeenntt DDeeccllaarraattiioonnss Whether embedded or imported, the element definitions present in a schema may be referenced from a Message Reference or Interface Fault component. A named rng:define definition MUST NOT be referenced from the Message Reference or Interface Fault components. A named Relax NG element declaration MAY be referenced from a Message Reference or Interface Fault component. The QName is constructed from the namespace (ns aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm) of the schema and the content of the name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm of the element eelleemmeenntt iinnffoorrmmaattiioonn iitteemm An element aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm MUST NOT be used to refer to an rng:define eelleemmeenntt iinnffoorrmmaattiioonn iitteemm. FF.. PPaarrtt 11 CChhaannggee LLoogg ((NNoonn--NNoorrmmaattiivvee)) FF..11 WWSSDDLL SSppeecciiffiiccaattiioonn CChhaannggeess _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_DD_aa_tt_ee_ _ _ _ _|_AA_uu_tt_hh_oo_rr_|_DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_2_3_|_J_J_M_ _ _ _|_C_o_m_m_e_n_t_e_d_ _o_u_t_ _t_h_e_ _(_m_i_s_s_i_n_g_)_ _p_r_o_p_e_r_t_y_ _e_x_a_m_p_l_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_2_2_|_R_R_C_ _ _ _|_A_d_d_e_d_ _d_e_f_i_n_i_t_i_o_n_ _o_f_ _w_s_d_l_i_:_w_s_d_l_L_o_c_a_t_i_o_n_ _a_t_t_r_i_b_u_t_e_._ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_2_2_|_J_J_M_ _ _ _|_A_d_d_e_d_ _f_a_u_l_t_s_ _t_o_ _p_r_o_p_e_r_t_i_e_s_ _a_n_d_ _f_e_a_t_u_r_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_9_|_J_J_M_ _ _ _|_U_s_e_ _l_o_w_e_r_c_a_s_e_ _"_s_h_o_u_l_d_"_ _i_n_ _n_o_t_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040319|JJM |Comment out features at service level. Uniformize scope | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_b_e_t_w_e_e_n_ _f_e_a_t_u_r_e_s_ _a_n_d_ _p_r_o_p_e_r_t_i_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_8_|_J_J_M_ _ _ _|_M_o_v_e_d_ _n_o_r_m_a_t_i_v_e_ _n_o_t_e_s_ _i_n_t_o_ _t_h_e_ _m_a_i_n_ _b_o_d_y_ _o_f_ _t_h_e_ _d_o_c_u_m_e_n_t_._ _ _ _ | |_2_0_0_4_0_3_1_8_|_J_J_M_ _ _ _|_I_n_c_o_r_p_o_r_a_t_e_d_ _t_h_e_ _p_r_o_p_e_r_t_y_ _t_e_x_t_ _f_r_o_m_ _G_l_e_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_8_|_J_J_M_ _ _ _|_A_d_d_r_e_s_s_e_d_ _c_o_m_m_e_n_t_s_ _f_r_o_m_ _Y_u_x_i_a_o_ _Z_h_a_o_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040318|JJM |Updated the feature description, as per Glen and David | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_B_o_o_t_h_'_s_ _s_u_g_g_e_s_t_i_o_n_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040317|RRC |Removed redundant {styleDefault} property of the interface | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_c_o_m_p_o_n_e_n_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_7_|_J_J_M_ _ _ _|_I_n_c_l_u_d_e_ _c_o_m_m_e_n_t_s_ _f_r_o_m_ _K_e_v_i_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040315|RRC |Added clarification on embedded XML schemas that refer to | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_s_i_b_l_i_n_g_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040315|RRC |Updated RPC signature extension to use #in/#out/#inout/ | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_#_r_e_t_u_r_n_ _t_o_k_e_n_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040315|RRC |Added explanatory text to types and modularization sections | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_e_r_ _r_e_s_o_l_u_t_i_o_n_ _o_f_ _i_s_s_u_e_ _#_1_0_2_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_5_|_S_W_ _ _ _ _|_C_h_a_n_g_e_ _b_i_n_d_i_n_g_/_{_f_a_u_l_t_,_o_p_e_r_a_t_i_o_n_}_/_@_n_a_m_e_ _t_o_ _@_r_e_f_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040312|RRC |Fixed appendix D to take the removal of wsdl:message into | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_a_c_c_o_u_n_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_1_2_|_R_R_C_ _ _ _|_A_d_d_e_d_ _d_e_f_i_n_i_t_i_o_n_ _o_f_ _w_r_p_c_:_s_i_g_n_a_t_u_r_e_ _e_x_t_e_n_s_i_o_n_ _a_t_t_r_i_b_u_t_e_._ _ _ _ _ _ | |20040311|SW |Change fault stuff per decision to make faults first class in| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_t_e_r_f_a_c_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040308|SW |Renamed {message} property to {element} and @message to | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_@_e_l_e_m_e_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_3_0_5_|_S_W_ _ _ _ _|_A_d_d_e_d_ _{_s_a_f_e_t_y_}_ _p_r_o_p_e_r_t_y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_2_2_7_|_M_J_G_ _ _ _|_M_e_r_g_e_d_ _i_n_ _b_r_a_n_c_h_ _I_s_s_u_e_1_4_3_ _c_o_n_t_a_i_n_i_n_g_ _r_e_s_o_l_u_t_i_o_n_ _o_f_ _i_s_s_u_e_ _1_4_3_ | |20040227|SW |Dropped {type definitions} property from definitions; | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_l_e_f_t_o_v_e_r_ _f_r_o_m_ _<_m_e_s_s_a_g_e_>_ _d_a_y_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_4_0_2_2_6_|_S_W_ _ _ _ _|_W_o_r_k_i_n_g_ _t_h_r_u_ _v_a_r_i_o_u_s_ _e_d_t_o_d_o_ _i_t_e_m_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20040106|JS |Per 18 Dec 2003 telecon decision, added text re: circular | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_c_l_u_d_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20031204|JS |Per 4 Dec 2003 telecon decision, removed redundant binding/ | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_o_p_e_r_a_t_i_o_n_/_{_i_n_f_a_u_l_t_,_ _o_u_t_f_a_u_l_t_}_/_@_m_e_s_s_a_g_e_R_e_f_e_r_e_n_c_e_._ _ _ _ _ _ _ _ _ _ _ _ _ | |20031105|JS |Added point to attributes task force recommendation accepted | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_b_y_ _t_h_e_ _w_o_r_k_i_n_g_ _g_r_o_u_p_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Mapping to component model for {message} of Fault Reference | | | |component indicated that message aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm | |20031104|JS |was optional, but the pseudo syntax and XML reprsentation | | | |indicated it was required. Made uniformly optional to allow | | | |other type systems as was previously done for {message} of | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_M_e_s_s_a_g_e_ _R_e_f_e_r_e_n_c_e_ _c_o_m_p_o_n_e_n_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Renamed interface /operation /{input,output} /@body to ./ | |20031104|JS |@message and interface /operation /{infault,outfault} / | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_@_d_e_t_a_i_l_s_ _t_o_ _._/_@_m_e_s_s_a_g_e_ _p_e_r_ _4_ _N_o_v_ _f_a_c_e_-_t_o_-_f_a_c_e_ _d_e_c_i_s_i_o_n_._ _ _ _ _ _ | |20031104|JS |Made interface /operation /{input,output,infault,outfault} / | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_@_m_e_s_s_a_g_e_R_e_f_e_r_e_n_c_e_ _o_p_t_i_o_n_a_l_ _p_e_r_ _4_ _N_o_v_ _f_a_c_e_-_t_o_-_f_a_c_e_ _d_e_c_i_s_i_o_n_._ _ | |20031104|JS |Removed interface/operation/{input,output}/@header per 4 Nov | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_f_a_c_e_-_t_o_-_f_a_c_e_ _d_e_c_i_s_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Updated fault reference components to indicate that if | |20031102|SW |operation's MEP uses MTF then the fault is in the opposite | | | |direction as the referenced message and if it use FRM then | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_t_s_ _i_n_ _t_h_e_ _s_a_m_e_ _d_i_r_e_c_t_i_o_n_._ _P_e_r_ _1_0_/_3_0_ _t_e_l_e_c_o_n_ _d_e_c_i_s_i_o_n_._ _ _ _ _ _ _ | | | |Updated operation styles terminology per message #57 of Oct. | |20031102|SW |and the RPC style rules per message #58 of Oct. per decision | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_o_n_ _1_0_/_3_0_ _t_e_l_e_c_o_n_ _t_o_ _c_o_n_s_i_d_e_r_ _t_h_o_s_e_ _s_t_a_t_u_s_ _q_u_o_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20031102|SW |Clarified wording in operation styles discussion to better | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_x_p_l_a_i_n_ _t_h_e_ _u_s_e_ _o_f_ _t_h_e_ _{_s_t_y_l_e_}_ _a_t_t_r_i_b_u_t_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Clarified wording in XML <-> component model mapping section | |20031102|SW |for message reference components to say that {body} and | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_{_h_e_a_d_e_r_s_}_ _m_a_y_ _n_o_t_ _h_a_v_e_ _a_ _v_a_l_u_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20031102|SW |Made interface/operation/(input|output)/@messageReference | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_R_E_Q_U_I_R_E_D_ _p_e_r_ _1_0_/_3_0_ _t_e_l_e_c_o_n_ _d_e_c_i_s_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_1_0_2_8_|_S_W_ _ _ _ _|_R_e_n_a_m_e_d_ _t_o_ _w_s_d_l_2_0_._x_m_l_ _a_n_d_ _u_p_d_a_t_e_d_ _c_o_n_t_e_n_t_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_1_0_2_8_|_S_W_ _ _ _ _|_U_p_d_a_t_e_d_ _b_i_n_d_i_n_g_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_1_0_2_5_|_S_W_ _ _ _ _|_U_p_d_a_t_e_d_ _f_a_u_l_t_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20031013|JJM |Moved appendix C to a separate document, as per 24 Sep 2003 | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_m_e_e_t_i_n_g_ _i_n_ _P_a_l_o_ _A_l_t_o_,_ _C_A_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20031003|SW |Softened wording to allow machine processable| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_o_c_u_m_e_n_t_a_t_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_1_0_0_2_|_S_W_ _ _ _ _|_C_h_a_n_g_e_d_ _b_i_n_d_i_n_g_/_o_p_e_r_a_t_i_o_n_/_@_n_a_m_e_ _t_o_ _Q_N_a_m_e_ _p_e_r_ _e_d_t_o_d_o_._ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_9_3_0_|_S_W_ _ _ _ _|_A_d_d_e_d_ _p_l_a_c_e_h_o_l_d_e_r_s_ _f_o_r_ _s_e_t_-_a_t_t_r_/_g_e_t_-_a_t_t_r_ _o_p_e_r_a_t_i_o_n_ _s_t_y_l_e_s_._ _ _ | |_2_0_0_3_0_9_2_9_|_S_W_ _ _ _ _|_I_n_s_e_r_t_e_d_ _G_l_e_n_ _D_a_n_i_e_l_s_'_ _f_e_a_t_u_r_e_ _t_e_x_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030919|RRC |Removed import facility for chameleon schemas and added a | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_e_s_c_r_i_p_t_i_o_n_ _o_f_ _a_ _w_o_r_k_a_r_o_u_n_d_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030918|JJM |Changed message pattern to message exchange pattern, as per | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_W_G_ _r_e_s_o_l_u_t_i_o_n_ _o_n_ _1_8_ _S_e_p_._ _2_0_0_3_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_9_1_6_|_R_R_C_ _ _ _|_A_d_d_e_d_ _e_d_i_t_o_r_i_a_l_ _n_o_t_e_ _f_o_r_ _t_h_e_ _m_i_s_s_i_n_g_ _R_P_C_ _e_n_c_o_d_i_n_g_ _s_t_y_l_e_._ _ _ _ _ | |20030915|RRC |Yet more updates for REQUIRED, OPTIONAL; updated section 3 to| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_r_e_f_l_e_c_t_ _t_h_e_ _r_e_m_o_v_a_l_ _o_f_ _"_w_s_d_l_:_m_e_s_s_a_g_e_"_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030911|RRC |More updates for REQUIRED, OPTIONAL; removed diff markup; | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_f_i_x_e_d_ _e_x_a_m_p_l_e_ _C_._4_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Renamed message reference "name" attribute and property to | |20030911|RRC |"messageReference"; fixed incorrect reference to "fault" | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_l_e_m_e_n_t_ _i_n_ _t_h_e_ _b_i_n_d_i_n_g_ _o_p_e_r_a_t_i_o_n_ _s_e_c_t_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030910|SW |Fixed message references and added proper use of REQUIRED | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_t_c_._ _f_o_r_ _t_h_e_ _p_a_r_t_ _I_'_v_e_ _g_o_n_e_ _t_h_r_o_u_g_h_ _s_o_ _f_a_r_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_9_1_0_|_S_W_ _ _ _ _|_U_p_d_a_t_i_n_g_ _s_p_e_c_;_ _f_i_x_e_d_ _u_p_ _i_n_t_e_r_f_a_c_e_ _o_p_e_r_a_t_i_o_n_ _c_o_m_p_o_n_e_n_t_ _m_o_r_e_._ _ | |_2_0_0_3_0_8_0_8_|_J_C_S_ _ _ _|_F_i_x_e_d_ _e_r_r_o_r_s_ _f_o_u_n_d_ _b_y_ _I_B_M_\_A_r_t_h_u_r_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_8_0_4_|_J_C_S_ _ _ _|_R_e_m_o_v_e_d_ _M_e_s_s_a_g_e_ _c_o_m_p_o_n_e_n_t_ _p_e_r_ _3_0_ _J_u_l_y_-_1_ _A_u_g_ _m_e_e_t_i_n_g_._ _ _ _ _ _ _ _ _ | |20030803|JCS |Replaced substitution groups with xs:any namespace='##other' | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_e_r_ _3_ _J_u_l_y_,_ _1_7_ _J_u_l_y_,_ _a_n_d_ _2_4_ _J_u_l_y_ _t_e_l_e_c_o_n_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_8_0_1_|_J_C_S_ _ _ _|_M_a_d_e_ _b_i_n_d_i_n_g_/_@_i_n_t_e_r_f_a_c_e_ _o_p_t_i_o_n_a_l_ _p_e_r_ _3_1_ _J_u_l_y_ _m_e_e_t_i_n_g_._ _ _ _ _ _ _ _ | |_2_0_0_3_0_7_2_4_|_J_C_S_ _ _ _|_R_e_m_o_v_e_ _@_t_a_r_g_e_t_R_e_s_o_u_r_c_e_ _p_e_r_ _1_7_ _J_u_l_y_ _2_0_0_3_ _t_e_l_e_c_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ | |20030612|JJM |Incorporate revised targetResource definition, as per 12 June| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_2_0_0_3_ _t_e_l_c_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030606|JJM |Refer to the two graphics by ID. Indicate pseudo-schemas are | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_n_o_t_ _n_o_r_m_a_t_i_v_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030604|JJM |Fixed figures so they don't appear as tables. Fixed markup so| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_t_ _v_a_l_i_d_a_t_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_6_0_3_|_J_C_S_ _ _ _|_P_l_u_g_g_e_d_ _i_n_ _j_m_a_r_s_h_ _a_u_t_o_-_g_e_n_e_r_a_t_e_d_ _s_c_h_e_m_a_ _o_u_t_l_i_n_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_5_2_9_|_M_J_G_ _ _ _|_F_i_x_e_d_ _v_a_r_i_o_u_s_ _i_s_s_u_e_s_ _w_i_t_h_ _t_h_e_ _X_m_l_R_e_p_ _p_o_r_t_i_o_n_s_ _o_f_ _t_h_e_ _s_p_e_c_ _ _ _ | | | |Added text to _22_.._22_.._11_ _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _CC_oo_mm_pp_oo_nn_ee_nn_tt and _22_.._22_.._33_ _MM_aa_pp_pp_ii_nn_gg| |20030527|MJG |_II_nn_tt_ee_rr_ff_aa_cc_ee_''_ss_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _tt_oo_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _PP_rr_oo_pp_ee_rr_tt_ii_ee_ss | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_d_i_c_a_t_i_n_g_ _t_h_a_t_ _r_e_c_u_r_s_i_v_e_ _i_n_t_e_r_f_a_c_e_ _e_x_t_e_n_s_i_o_n_ _i_s_ _n_o_t_ _a_l_l_o_w_e_d_.| |20030523|JJM |Added pseudo-syntax to all but Type and Modularizing | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_s_e_c_t_i_o_n_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030523|JJM |Added the "interface" and "targetResource" attribute on | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_<_s_e_r_v_i_c_e_>_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030523|JJM |Fixed miscellaneous typos (semi-colon instead of colon, space| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_a_f_t_e_r_ _p_a_r_e_n_t_h_e_s_i_s_,_ _e_t_c_._)_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030523|JJM |Rewrote the service-resource text and merge it with the | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_t_r_o_d_u_c_t_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_5_2_2_|_J_C_S_ _ _ _|_s_/_s_e_t_ _o_f_ _p_a_r_t_s_/_l_i_s_t_ _o_f_ _p_a_r_t_s_/_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030514|JJM |Updated the service-resource figure, and split the diagram | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_t_o_ _t_w_o_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_5_1_2_|_J_J_M_ _ _ _|_A_d_d_e_d_ _s_e_r_v_i_c_e_-_r_e_s_o_u_r_c_e_ _d_r_a_w_i_n_g_ _a_n_d_ _d_e_s_c_r_i_p_t_i_o_n_._ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_5_1_2_|_J_J_M_ _ _ _|_A_d_d_e_d_ _s_y_n_t_a_x_ _s_u_m_m_a_r_y_ _f_o_r_ _t_h_e_ _I_n_t_e_r_f_a_c_e_ _c_o_m_p_o_n_e_n_t_._ _ _ _ _ _ _ _ _ _ _ _ | | | |Various edits to _33_.._ _TT_yy_pp_ee_ss, _EE_.._ _EE_xx_aa_mm_pp_ll_ee_ss_ _oo_ff_ _SS_pp_ee_cc_ii_ff_ii_cc_aa_tt_ii_oo_nn_ss_ _oo_ff | |20030428|MJG |_EE_xx_tt_ee_nn_ss_ii_oo_nn_ _EE_ll_ee_mm_ee_nn_tt_ss_ _ff_oo_rr_ _AA_ll_tt_ee_rr_nn_aa_tt_ii_vv_ee_ _SS_cc_hh_ee_mm_aa_ _LL_aa_nn_gg_uu_aa_gg_ee_ _SS_uu_pp_pp_oo_rr_tt_.. | | | |to accomadate other type systems and spell out how | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_x_t_e_n_s_i_b_i_l_i_t_y_ _e_l_e_m_e_n_t_s_/_a_t_t_r_i_b_u_t_e_s_ _p_l_a_y_ _o_u_t_ _i_n_ _s_u_c_h_ _s_c_e_n_a_r_i_o_s_.| |20030428|MJG |Added text to _11_.._22_ _NN_oo_tt_aa_tt_ii_oo_nn_aa_ll_ _CC_oo_nn_vv_ee_nn_tt_ii_oo_nn_ss regarding normative | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_n_a_t_u_r_e_ _o_f_ _s_c_h_e_m_a_ _a_n_d_ _v_a_l_i_d_i_t_y_ _o_f_ _W_S_D_L_ _d_o_c_u_m_e_n_t_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Allowed features and properties at the interface, interface | |20030411|JJM |operation, binding and binding operation levels, as agreed at| | | |the Boston f2f http://lists.w3.org/Archives/Public/www-ws- | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_e_s_c_/_2_0_0_3_M_a_r_/_0_0_1_9_._h_t_m_l_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030411|JJM |Incorporate features and properties' text from separate | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_o_c_u_m_e_n_t_ _a_n_d_ _m_e_r_g_e_d_ _c_h_a_n_g_e_ _l_o_g_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_1_3_|_M_J_G_ _ _ _|_C_h_a_n_g_e_d_ _t_i_t_l_e_ _t_o_ _i_n_c_l_u_d_e_ _'_p_a_r_t_ _1_'_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_1_3_|_M_J_G_ _ _ _|_C_h_a_n_g_e_d_ _p_o_r_t_ _t_o_ _e_n_d_p_o_i_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_1_3_|_M_J_G_ _ _ _|_C_h_a_n_g_e_d_ _t_y_p_e_ _t_o_ _i_n_t_e_r_f_a_c_e_ _i_n_ _b_i_n_d_i_n_g_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030313|MJG |Changed mep to pattern and message exchange pattern to | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_m_e_s_s_a_g_e_ _p_a_t_t_e_r_n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_1_3_|_M_J_G_ _ _ _|_A_d_d_e_d_ _t_e_x_t_ _t_o_ _DD_.._22_ _PP_oo_rr_tt_TT_yy_pp_ee_ss_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_1_3_|_M_J_G_ _ _ _|_C_h_a_n_g_e_d_ _p_o_r_t_T_y_p_e_ _t_o_ _i_n_t_e_r_f_a_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030407|JJM |Refined and corrected the definitions for features and | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_r_o_p_e_r_t_i_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030304|JJM |Filled in blank description of Feature and Property | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_c_o_m_p_o_n_e_n_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_3_0_3_|_M_J_G_ _ _ _|_S_k_e_l_e_t_o_n_ _F_e_a_t_u_r_e_ _a_n_d_ _P_r_o_p_e_r_t_y_ _c_o_m_p_o_n_e_n_t_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Merged ComponentModelForMEPs branch (1.46.2.5) into main | | | |branch (1.54). Below is change log from the branch: | | | | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | ||_DD_aa_tt_ee_ _ _ _ _|_AA_uu_tt_hh_oo_rr_|_DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | |20030305|MJG ||_2_0_0_3_0_2_2_0_|_M_J_G_ _ _ _|_M_i_n_o_r_ _w_o_r_d_i_n_g_ _c_h_a_n_g_e_ _a_t_ _s_u_g_g_e_s_t_i_o_n_ _o_f_ _J_J_M_ | | | | || | |Updated component model to include Fault | | | | ||20030212|MJG |Reference component. Associated changes to| | | | ||_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_P_o_r_t_ _T_y_p_e_ _O_p_e_r_a_t_i_o_n_ _c_o_m_p_o_n_e_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ | | | | ||_2_0_0_3_0_2_1_1_|_M_J_G_ _ _ _|_C_h_a_n_g_e_s_ _t_o_ _c_o_m_p_o_n_e_n_t_ _m_o_d_e_l_ _t_o_ _s_u_p_p_o_r_t_ _M_E_P_s| | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Updated _44_.._22_ _II_mm_pp_oo_rr_tt_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss to be consistent in layout| |20030228|MJG |with other XML rep sections. Detailed that documentation and | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_x_t_e_n_s_i_b_i_l_i_t_y_ _a_t_t_r_i_b_u_t_e_s_ _a_r_e_ _a_l_l_o_w_e_d_,_ _p_e_r_ _s_c_h_e_m_a_ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Updated _44_.._11_ _II_nn_cc_ll_uu_dd_ii_nn_gg_ _DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ss to be consistent in layout| |20030228|MJG |with other XML rep sections. Detailed that documentation and | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_x_t_e_n_s_i_b_i_l_i_t_y_ _a_t_t_r_i_b_u_t_e_s_ _a_r_e_ _a_l_l_o_w_e_d_,_ _p_e_r_ _s_c_h_e_m_a_ _ _ _ _ _ _ _ _ _ _ _ _ | |20030228|MJG |Updated _22_.._99_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _BB_ii_nn_dd_ii_nn_gg_ _CC_oo_mm_pp_oo_nn_ee_nn_tt to list| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_t_y_p_e_ _a_t_t_r_i_b_u_t_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030217|MJG |Minor edits to wording in _22_.._44_.._11_ _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_CC_oo_mm_pp_oo_nn_ee_nn_tt_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_2_1_3_|_M_J_G_ _ _ _|_A_d_d_e_d_ _x_l_i_n_k_ _n_s_d_e_c_l_ _t_o_ _s_p_e_c_ _e_l_e_m_e_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030213|MJG |Incorporated text from dbooths proposal on semantics, per | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_e_c_i_s_i_o_n_ _2_0_0_2_1_0_3_1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Merged operationnames branch (1.37.2.3) into main branch | | | |(1.46). Below is the change log from the branch. | | | | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | ||_DD_aa_tt_ee_ _ _ _ _|_AA_uu_tt_hh_oo_rr_|_DD_ee_ss_cc_rr_ii_pp_tt_ii_oo_nn_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ || | | ||20030130|MJG |Updated binding section to match changes to|| |20030213|MJG ||_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_o_r_t_ _t_y_p_e_ _s_e_c_t_i_o_n_ _W_R_T_ _o_p_e_r_a_t_i_o_n_ _n_a_m_e_s_ _ _ _ _ _ || | | || | |Added best practice note on operation names|| | | ||20030130|MJG |and target namespaces to _22_.._44_.._11_ _TT_hh_ee || | | ||_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _ _ _ _ _ _ _ _ _ _ _ _ _ || | | ||20030122|MJG |Started work on making operations have || | | ||_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_u_n_i_q_u_e_ _n_a_m_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ || |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030213|MJG |Change name of {message exchange pattern} back to {variety} | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_t_o_ _c_o_n_s_o_l_i_d_a_t_e_ _c_h_a_n_g_e_s_ _d_u_e_ _t_o_ _M_E_P_ _p_r_o_p_o_s_a_l_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_2_0_6_|_M_J_G_ _ _ _|_U_p_d_a_t_e_d_ _A_p_p_e_n_d_i_x_ _A_ _t_o_ _r_e_f_e_r_ _t_o_ _A_p_p_e_n_d_i_x_ _C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_2_0_4_|_M_J_G_ _ _ _|_T_i_d_i_e_d_ _u_p_ _a_p_p_e_n_d_i_x_ _C_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_2_0_3_|_M_J_G_ _ _ _|_I_n_c_o_r_p_o_r_a_t_e_d_ _r_e_s_o_l_u_t_i_o_n_ _t_o_ _R_1_2_0_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Fixed error in _22_.._55_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _MM_ee_ss_ss_aa_gg_ee_ _RR_ee_ff_ee_rr_ee_nn_cc_ee | |20030124|MJG |_CC_oo_mm_pp_oo_nn_ee_nn_tt which had name aattttrriibbuuttee iinnffoorrmmaattiioonn iitteemm on input,| | | |output and fault eelleemmeenntt iinnffoorrmmaattiioonn iitteemm being mandatory. | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_M_a_d_e_ _i_t_ _o_p_t_i_o_n_a_l_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030123|JJM |Change name of {variety} property to {message exchange | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_a_t_t_e_r_n_}_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030130|MJG |Updated binding section to match changes to port type section| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_W_R_T_ _o_p_e_r_a_t_i_o_n_ _n_a_m_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030130|MJG |Added best practice note on operation names and target | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_n_a_m_e_s_p_a_c_e_s_ _t_o_ _22_.._44_.._11_ _TT_hh_ee_ _II_nn_tt_ee_rr_ff_aa_cc_ee_ _OO_pp_ee_rr_aa_tt_ii_oo_nn_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_2_2_|_M_J_G_ _ _ _|_S_t_a_r_t_e_d_ _w_o_r_k_ _o_n_ _m_a_k_i_n_g_ _o_p_e_r_a_t_i_o_n_s_ _h_a_v_e_ _u_n_i_q_u_e_ _n_a_m_e_s_ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_2_2_|_M_J_G_ _ _ _|_A_d_d_e_d_ _s_o_m_e_ _<_e_m_p_h_>_,_ _<_e_l_>_,_ _<_a_t_t_>_,_ _&_A_I_I_;_,_ _&_E_I_I_;_,_ _<_e_l_>_ _m_a_r_k_u_p_ _ _ _ | |_2_0_0_3_0_1_2_0_|_M_J_G_ _ _ _|_I_n_c_o_r_p_o_r_a_t_e_d_ _R_e_l_a_x_ _N_G_ _s_e_c_t_i_o_n_ _f_r_o_m_ _A_m_y_'_s_ _t_y_p_e_s_ _p_r_o_p_o_s_a_l_ _ _ _ _ _ | |_2_0_0_3_0_1_2_0_|_M_J_G_ _ _ _|_I_n_c_o_r_p_o_r_a_t_e_d_ _D_T_D_ _s_e_c_t_i_o_n_ _f_r_o_m_ _A_m_y_'_s_ _t_y_p_e_s_ _p_r_o_p_o_s_a_l_ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_2_0_ _|_M_J_G_ _ _ _|_I_n_c_o_r_p_o_r_a_t_e_d_ _A_m_y_'_s_ _t_y_p_e_s_ _p_r_o_p_o_s_a_l_ _e_x_c_e_p_t_ _a_n_n_e_x_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_8_|_M_J_G_ _ _ _|_M_a_d_e_ _s_o_m_e_ _c_h_a_n_g_e_s_ _r_e_l_a_t_e_d_ _t_o_ _e_x_t_e_n_s_i_b_i_l_i_t_y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030118|MJG |Amended content model for operation to disallow fault element| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_c_h_i_l_d_r_e_n_ _i_n_ _t_h_e_ _i_n_p_u_t_-_o_n_l_y_ _a_n_d_ _o_u_t_p_u_t_-_o_n_l_y_ _c_a_s_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Removed {extension} properties from Binding components and | |20030118|MJG |Port components. Added text relating to how extension | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_e_l_e_m_e_n_t_s_ _a_r_e_ _e_x_p_e_c_t_e_d_ _t_o_ _a_n_n_o_t_a_t_e_ _t_h_e_ _c_o_m_p_o_n_e_n_t_ _m_o_d_e_l_._ _ _ _ _ _ _ | |20030117|MJG |Made further edits related to extensibility model now using | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_s_u_b_s_t_i_t_u_t_i_o_n_ _g_r_o_u_p_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_7_|_M_J_G_ _ _ _|_A_d_d_e_d_ _i_n_i_t_i_a_l_ _d_r_a_f_t_ _o_f_ _s_e_c_t_i_o_n_ _o_n_ _Q_N_a_m_e_ _r_e_s_o_l_u_t_i_o_n_ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_7_|_M_J_G_ _ _ _|_R_e_w_o_r_k_e_d_ _s_e_c_t_i_o_n_ _o_n_ _e_x_t_e_n_s_i_b_i_l_i_t_y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20030116|MJG |Added text regarding multiple operations with the same {name}| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_n_ _a_ _s_i_n_g_l_e_ _p_o_r_t_ _t_y_p_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_6_|_M_J_G_ _ _ _|_A_d_d_e_d_ _s_e_c_t_i_o_n_ _o_n_ _s_y_m_b_o_l_ _s_p_a_c_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_6_|_M_J_G_ _ _ _|_R_e_m_o_v_e_d_ _v_a_r_i_o_u_s_ _e_d_n_o_t_e_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_6_|_M_J_G_ _ _ _|_A_d_d_e_d_ _s_e_c_t_i_o_n_ _o_n_ _c_o_m_p_o_n_e_n_t_ _e_q_u_i_v_a_l_e_n_c_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_3_0_1_1_6_|_M_J_G_ _ _ _|_M_o_r_e_ _w_o_r_k_ _o_n_ _i_n_c_l_u_d_e_ _a_n_d_ _i_m_p_o_r_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_2_0_1_|_M_J_G_ _ _ _|_D_i_d_ _s_o_m_e_ _w_o_r_k_ _o_n_ _w_s_d_l_:_i_n_c_l_u_d_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_1_2_7_|_M_J_G_ _ _ _|_A_d_d_e_d_ _p_l_a_c_e_h_o_l_d_e_r_ _f_o_r_ _w_s_d_l_:_i_n_c_l_u_d_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Cleaned up language concerning targetNamespace aattttrriibbuuttee | |20021127|MJG |iinnffoorrmmaattiioonn iitteemm _22_.._11_.._22_.._11_ _tt_aa_rr_gg_ee_tt_NN_aa_mm_ee_ss_pp_aa_cc_ee_ _aa_tt_tt_rr_ii_bb_uu_tt_ee | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_ii_nn_ff_oo_rr_mm_aa_tt_ii_oo_nn_ _ii_tt_ee_mm_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20021127|MJG |changed the language regarding extensibility elements in | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_22_.._11_.._22_ _XX_MM_LL_ _RR_ee_pp_rr_ee_ss_ee_nn_tt_aa_tt_ii_oo_nn_ _oo_ff_ _DD_ee_ff_ii_nn_ii_tt_ii_oo_nn_ss_ _CC_oo_mm_pp_oo_nn_ee_nn_tt_._ _ _ _ _ _ _ _ _ _ _ | |20021127|MJG |Moved all issues into issues document ( ../issues/wsd- | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_i_s_s_u_e_s_._x_m_l_ _)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_1_2_7_|_M_J_G_ _ _ _|_R_e_m_o_v_e_d_ _n_a_m_e_ _a_t_t_r_i_b_u_t_e_ _f_r_o_m_ _d_e_f_i_n_i_t_i_o_n_s_ _e_l_e_m_e_n_t_ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_1_2_7_|_M_J_G_ _ _ _|_R_e_m_o_v_e_d_ _'_p_s_e_u_d_o_-_s_c_h_e_m_a_'_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_1_2_1_|_J_J_M_ _ _ _|_U_p_d_a_t_e_d_ _m_e_d_i_a_ _t_y_p_e_ _d_r_a_f_t_ _a_p_p_e_n_d_i_x_ _e_d_n_o_t_e_ _t_o_ _m_a_t_c_h_ _m_i_n_u_t_e_s_._ _ _ | |_2_0_0_2_1_1_1_1_|_S_W_ _ _ _ _|_A_d_d_e_d_ _a_p_p_e_n_d_i_x_ _t_o_ _r_e_c_o_r_d_ _m_i_g_r_a_t_i_o_n_ _i_s_s_u_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20021107|JJM |Incorporated and started adapting SOAP's media type draft | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_a_p_p_e_n_d_i_x_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_1_0_1_0_|_M_J_G_ _ _ _|_A_d_d_e_d_ _p_o_r_t_ _t_y_p_e_ _e_x_t_e_n_s_i_o_n_s_,_ _r_e_m_o_v_e_d_ _s_e_r_v_i_c_e_ _t_y_p_e_._ _ _ _ _ _ _ _ _ _ _ _ | |20020910|MJG |Removed parameterOrder from spec, as decided at September | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_2_0_0_2_ _F_T_F_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Updated parameterOrder description, fixed some spelling | |20020908|MJG |errors and other types. Added ednote to discussion of message| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_p_a_r_t_s_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_7_1_5_|_M_J_G_ _ _ _|_A_M_ _R_e_w_r_i_t_e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20020627|JJM |Changed a few remaining to either or , | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_d_e_p_e_n_d_i_n_g_ _o_n_ _c_o_n_t_e_x_t_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20020627|SW |Converted portType stuff to be infoset based and improved doc| |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_s_t_r_u_c_t_u_r_e_ _m_o_r_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |20020627|SW |Converted message stuff to be infoset based and improved doc | |_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _|_s_t_r_u_c_t_u_r_e_ _m_o_r_e_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_5_|_S_W_ _ _ _ _|_M_o_d_s_ _t_o_ _t_a_k_e_ _i_n_t_o_ _a_c_c_o_u_n_t_ _J_J_M_ _c_o_m_m_e_n_t_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_4_|_J_J_M_ _ _ _|_F_i_x_e_d_ _s_p_e_c_ _s_o_ _m_a_r_k_u_p_ _v_a_l_i_d_a_t_e_s_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_4_|_J_J_M_ _ _ _|_U_p_g_r_a_d_e_d_ _t_h_e_ _s_t_y_l_e_s_h_e_e_t_ _a_n_d_ _D_T_D_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_4_|_J_J_M_ _ _ _|_A_d_d_e_d_ _s_e_c_t_i_o_n_s_ _f_o_r_ _r_e_f_e_r_e_n_c_e_s_ _a_n_d_ _c_h_a_n_g_e_ _l_o_g_._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_4_|_J_J_M_ _ _ _|_R_e_m_o_v_e_d_ _J_e_f_f_r_e_y_ _f_r_o_m_ _a_u_t_h_o_r_s_ _:_-_(_ _A_d_d_e_d_ _G_u_d_g_e_ _:_-_)_ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_6_2_0_|_S_W_ _ _ _ _|_S_t_a_r_t_e_d_ _a_d_d_i_n_g_ _a_b_s_t_r_a_c_t_ _m_o_d_e_l_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |_2_0_0_2_0_4_0_6_|_S_W_ _ _ _ _|_C_r_e_a_t_e_d_ _d_o_c_u_m_e_n_t_ _f_r_o_m_ _W_S_D_L_ _1_._1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |