| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
| <html> | |
| <head> | |
| <link href="axis.css" rel=stylesheet type=text/css> | |
| <style type="text/css"> | |
| small.red { color: red } | |
| </style> | |
| <title>Axis requirements & status</title> | |
| </head> | |
| <body> | |
| <h1>Requirements</h1> | |
| There is a <A href="#nonreq">non-requirements</A> section below. <br> | |
| <A href="#releases">Release cycles</A> are explained below. | |
| <p> | |
| <table border="3" cellspacing="0" cellpadding="3" width="700"> | |
| <tbody> | |
| <tr valign="top"> | |
| <th>No.</th> | |
| <th>Description [Priority]</th> | |
| <th><br> | |
| <br> | |
| </th> | |
| <td valign="top"><b>status</b> - worker(s)<br> | |
| </td> | |
| <th>a1</th> | |
| <th>a2</th> | |
| <th> | |
| <P>beta/</P> | |
| <P>3.0</P></th> | |
| <th>later</th> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> XML Protocol compliance</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>10</td> | |
| <td> We will diligently track the XP protocol as it evolves, and support | |
| it when it's ready. </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">n/a<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Error and fault handling</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>20</td> | |
| <td> Specify an extensible Java Exception mapping into SOAP faults | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>21</td> | |
| <td> Specify an extensible SOAP fault mapping into Java exceptions | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Service and Operation Identification</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>30</td> | |
| <td> Dispatch by transport URL </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>31</td> | |
| <td> Dispatch by SOAPAction </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>32</td> | |
| <td> Dispatch by QName of the first body entry </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>33</td> | |
| <td> Dispatch by a custom handler <i>(to use any information | |
| available)</i></td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done (can do it already)<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Message exchange patterns supported at the client | |
| API level</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td><br> | |
| </td> | |
| <td colspan="7"><i>Motivation: we believe the following message exchange | |
| patterns are in common use and important to implement (e.g. WSDL uses | |
| them)</i></td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>40</td> | |
| <td> Synchronous request/response </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>41</td> | |
| <td> One-way messaging </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>42</td> | |
| <td> [??] Asynchronous request/response (non-blocking) <i>(the question | |
| marks mean we don't know whether to provide this)</i></td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI - </b>?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> SOAP 1.1 compliance</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>50</td> | |
| <td> All aspects of SOAP 1.1 supported by Apache SOAP 2.x </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">what is missing?<br> | |
| (actor, full sec-5) | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>51</td> | |
| <td>Support intermediaries</td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - RobJ<br> | |
| <br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>52</td> | |
| <td> Transparency should be provided when we place intermediaries | |
| (hosts) between requestor and provider (creating a proxy server) | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - RobJ<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>53</td> | |
| <td> Support the SOAP concept of mustUnderstand headers </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>54</td> | |
| <td> Support the SOAP actor header attributes </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><STRONG>NYI - Glen</STRONG><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Performance</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>60</td> | |
| <td> The architecture must not require the whole message to be in | |
| memory at the same time </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">not for 1.0 - no incremental 1.0 parse; architecture | |
| still allows this, later<br> | |
| <br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>61</td> | |
| <td> Scalable </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">? - Sam<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>62</td> | |
| <td> Faster than Apache SOAP 2.x </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done!<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>63</td> | |
| <td> Must not be significantly slower than comparable alternative | |
| implementations </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Administration and monitoring</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>70</td> | |
| <td> Logging API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI | |
| (all)</b> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>71</td> | |
| <td> Metrics API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>72</td> | |
| <td> Management (JMX) API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>n/a?</b> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>73</td> | |
| <td> Run-time (un)deployment API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Deployment</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>80</td> | |
| <td> Installation and deployment of both the engine, components, and | |
| services should be simple </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done! (what more?)<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>81</td> | |
| <td> Support a WebServiceArchive format which associates the | |
| executable and the description files </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">NYI (does JWS count?) - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>82</td> | |
| <td> Support .asmx-like drop-in service deployment </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done - this is JWS<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>83</td> | |
| <td> A single SUPER TINY .jar file must be enough for a client to | |
| communicate via SOAP </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - what is best way to build it?<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>84</td> | |
| <td> Defaults packaged with both client and server must be sane, | |
| secure and ready to go </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> but getting there!<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>85</td> | |
| <td> Intermediaries (hosts) should be easy to configure | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - RobJ<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr> | |
| <td valign="top">86<br> | |
| </td> | |
| <td valign="top">WSDD implementation<br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Carl | |
| W / Glen | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top">?<br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Providers</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>90</td> | |
| <td> Pluggable provider API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>done? (handler | |
| API)</b> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>91</td> | |
| <td> Java provider </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done?<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>92</td> | |
| <td> BSF provider </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI -</b>?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>93</td> | |
| <td> EJB provider </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI - </b>?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>94</td> | |
| <td> COM provider </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr> | |
| <td valign="top">95new<br> | |
| </td> | |
| <td valign="top">App server provider / connectivity layer<b> [High]</b><br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Glen?<br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| <td valign="top">X<br> | |
| </td> | |
| <td valign="top"><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Pluggable XML protocol support</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>100</td> | |
| <td> SOAP 1.1 </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>101</td> | |
| <td> SOAP 1.2 </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><STRONG>Partial -</STRONG> doesn't yet | |
| do envelope versioning or namespaces | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>102</td> | |
| <td> Must not name general classes as SOAPWhateverDoer </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>103</td> | |
| <td> Simultaneous support for multiple message protocols </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">NYI<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Message processing</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>110</td> | |
| <td> Support a flexible and extensible system allowing message handlers | |
| (extensions, applications) to build up orthogonal pieces of a message | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>111</td> | |
| <td> Handler invocation order is always deterministic for a given | |
| server configuration and message </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>112</td> | |
| <td> Some information should be shared between all the handlers in | |
| the "chain" on one host - MessageContext </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>112a</td> | |
| <td> Have the ability to specify application-specific parameters (like | |
| username or other thing) in the context </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>112b</td> | |
| <td> Some encapsulation of the idea of a session that's transport-independent | |
| (cookies in the HTTPRequest/HTTPResponse for http) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"> done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>112b.1</td> | |
| <td> An example/sample for a SOAP session header/handler/supplier | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - RobJ<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>112b.2</td> | |
| <td> Client code needs to support this as well - need to | |
| pass session back across if necessary... </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - RobJ<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>113</td> | |
| <td> Handlers need to be allowed to reach raw message data </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Transport</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>120</td> | |
| <td> Pluggable transport API </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done - needs doc! | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>121</td> | |
| <td> HTTP listener and sender </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>122</td> | |
| <td> HTTPS listener and sender </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>123</td> | |
| <td> SMTP sender </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>124</td> | |
| <td> POP3 poller </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>125</td> | |
| <td> JMS listener and sender </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>126</td> | |
| <td>Support for "SOAP messages with attachments"<b>[High]</b> | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Glen / RobJ<br> | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td>X<br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>127</td> | |
| <td> The transport can insert arbitrary transport-specific stuff into | |
| the Context </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>128</td> | |
| <td> The transport-specific stuff should be encapsulated, most of | |
| the engine should work on a canonical form of the message </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Security</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>130</td> | |
| <td> Support transport-level security<b> [High]</b></td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NY</b><b>I</b> - per-transport issue?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td valign="top">130b<br> | |
| </td> | |
| <td valign="top">Support SOAP-level security<b> [High]</b><br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top">what, specifically? - Yuhichi?<br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>131</td> | |
| <td> HTTP Basic auth </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>132</td> | |
| <td> Support for existing security SOAP-level standards </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">what, specifically?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>133</td> | |
| <td> An example/sample for a SOAP Basic Authentication header/handler | |
| </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Service Description and Discovery (for instance, WSDL, | |
| DISCO)</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>140</td> | |
| <td> Support the ability to query a service's description at runtime | |
| (e.g. GET ...?wsdl) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Jim's contribution? or is this | |
| something simpler?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>140a</td> | |
| <td> If deployment params have altered the service description, | |
| the updated version must be returned </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b>?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>141</td> | |
| <td> Support a basic html page describing the service (via an HTTP | |
| GET) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - James? Doug?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>142</td> | |
| <td> Support a pretty html page describing the service (via an HTTP | |
| GET) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI - </b>James? Doug?</td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>143</td> | |
| <td> Services can be deployed and used without service descriptions | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>144</td> | |
| <td> Should abstract the SD layer, at least by keeping the interfaces | |
| clean<b> [High]</b> </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>144a</td> | |
| <td> The abstract SD layer must support run-time determination | |
| of xsi:types of parts of the message </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI?</b> - Sam?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>144b</td> | |
| <td> Include a WSDL implementation of the SD layer<b> [High]</b> | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Lance & HP contribution?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>144c</td> | |
| <td> Extend WSDL with information on where to get components for stuff | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - James?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>144d</td> | |
| <td> Tools and/or run-time support for proxy generation from WSDL | |
| and/or WSDD </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Lance & HP?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>145</td> | |
| <td> HTTP GET on the Axis node returns an appropriate DISCO document | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Platforms</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>150</td> | |
| <td> Java implementation </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">underway :-)<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>151</td> | |
| <td> C++ implementation </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">n/a for 1.0<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>151a</td> | |
| <td> C++ impl core should be cross platform with platform-specific | |
| extensions (like COM) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">n/a for 1.0<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>152</td> | |
| <td> All implementations should have as much in common as possible | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">n/a for 1.0<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>153</td> | |
| <td> Use standard APIs wherever possible </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Data Encoding</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>160</td> | |
| <td> Extensible support for encodings </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">NYI<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>161</td> | |
| <td> Implement basic SOAP encoding (the level of current Apache SOAP | |
| 2.x) </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>162</td> | |
| <td> Support for sparse and partially-transmitted arrays </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">NYI<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X<br> | |
| </td> | |
| <td>X</td> | |
| <td> </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>163</td> | |
| <td> Support for multidimensional arrays </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">NYI<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>164</td> | |
| <td> Support literal XML encoding </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">NYI<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X<br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>165</td> | |
| <td> It should be relatively easy to write a "Serializer" </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done (depending on feedback from | |
| users)<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>166</td> | |
| <td> Include some general (de)serializers (that handle multiple | |
| types), so that there needn't exist a (de)serializer for every type | |
| that could possibly travel over the wire (needs further discussion | |
| - isomorphism (roundtrip) issues) </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">Is this the beanserializer / | |
| basicDeserializer, or something else?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>167</td> | |
| <td> (De)serialization may occur at any time on demand </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>168</td> | |
| <td> (De)serialization should be available to the application | |
| </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Release</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td><br> | |
| </td> | |
| <td colspan="7"><i>Although these are a 1.0 requirements, significant | |
| progress must be made on these items during interim releases.</i></td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>170</td> | |
| <td> Product-level code </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">getting there....<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>171</td> | |
| <td> Product-level docs<b> [High]</b> </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>172</td> | |
| <td> Product-level examples </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> but getting there - everyone<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>173</td> | |
| <td> Product-level performance </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - Sam? </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>174</td> | |
| <td> Product-level testing </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">getting there, with functional & unit tests<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Migration from Apache SOAP 2.x</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>180</td> | |
| <td> Documentation </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI - </b>?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>181</td> | |
| <td> The legacy Call object </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>182</td> | |
| <td> Serialization, custom serializers - maybe wrappers </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>?</td> | |
| <td>? </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>183</td> | |
| <td> Support for legacy messaging services </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - which?<br> | |
| <br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>184</td> | |
| <td> Support for legacy providers <b>[Medium]</b> </td> | |
| <td><br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - ?<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X </td> | |
| </tr> | |
| <tr> | |
| <td valign="top">185new<br> | |
| </td> | |
| <td valign="top">Support for legacy deployment<br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - James?<br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| <td valign="top">X<br> | |
| <br> | |
| </td> | |
| <td valign="top"><br> | |
| <br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <th><br> | |
| </th> | |
| <th colspan="7"> Coding</th> | |
| </tr> | |
| <tr valign="top"> | |
| <td>190</td> | |
| <td>Follow the <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html"> | |
| Java Coding Style</a> with <b>no</b> tab characters. </td> | |
| <td><br> | |
| </td> | |
| <td valign="top">done<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>191</td> | |
| <td>Use javadoc style to document all non-private methods in commits. | |
| </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">could be more...<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>192</td> | |
| <td> Document packages. </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top">could be MUCH more...<br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td><br> | |
| </td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| <tr valign="top"> | |
| <td>193</td> | |
| <td>Committing a new package, at least place in a placeholder for the | |
| package doc that says "this is to be done". </td> | |
| <td><br> | |
| <br> | |
| </td> | |
| <td valign="top"><b>NYI</b> - everyone!!!<br> | |
| </td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td>X</td> | |
| <td><br> | |
| </td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <a name="nonreq"></a></p> | |
| <h1>Non-requirements (won't be supported)</h1> | |
| <br> | |
| <i>We find the SOAP spec. to be unclear on these issues so we decided not | |
| to support them.</i> | |
| <ol> | |
| <li> RPC calls in SOAP headers | |
| <li> Multiple RPC calls in a single SOAP message </li> | |
| </ol> | |
| <p><a name="releases"></a></p> | |
| <h1>Releases and test cycles</h1>We're planning on | |
| releasing alpha1 (a1), alpha2 (a2), beta, and 3.0.<br> | |
| alpha is a preview.<br> | |
| subsequent alphas are to show the growing set of features and docs and test cases | |
| and all that.<br> | |
| Beta is functionally complete. | |
| </body> | |
| </html> |