- From: Li, Li (Li) <lli5@avaya.com>
- Date: Wed, 27 Jan 2010 11:25:20 -0500
- To: "Gilbert Pilz" <gilbert.pilz@oracle.com>
- Cc: <public-ws-resource-access@w3.org>
- Message-ID: <7DC6C0F0E8D7C74FB4E1E73CC371280A01505B13@300813ANEX2.global.avaya.com>
Gil, The "wsdl import" problem I raised is not an issue for policy-based approach like MOAP because it does not use <wsdl:import>. My observation is that if the event source wsdl wsdl:import the notification wsdl, then the tools will recursively retrieve the imported notification wsdl and generate redundant code (i.e. It generates server code whereas you only need client side code). Li ________________________________ From: Gilbert Pilz [mailto:gilbert.pilz@oracle.com] Sent: Wednesday, January 27, 2010 2:58 AM To: Li, Li (Li) Cc: public-ws-resource-access@w3.org Subject: Re: [ws-dd] Re: WS-DD comments on WS-Eventing WD-ws-eventing-20090924 Li, W/regards to "tools getting confused by inlined Notification WSDLs" I would note the following: 1.) As proposed by MOAP, Notification WSDLs appear as children of a parameter of a policy assertion. Evenly only moderately robust tools are likely to ignore information nested within policy assertions that they don't (by definition, since we're just inventing this stuff) "understand" (i.e. know how to process), if only out of laziness. 2.) Any WSDL tool that breaks because there is a nested <wsdl:definition> does not conform to WSDL-1.1 (as amended by BP) because WSDL-1.1 (as amended by BP) does not forbid the use of wsdl:definition as a decedent of an extension element (such as wsp:Policy/wse:EventSource/wse:FormatName). In other words, the tool is imposing constraints on the information model of the description that are not there in the base specs. 3.) Even if you were using a tool that was broken in this respect, it's not that big of deal to modify a local copy of the WSDL to use a reference to the Notification WSDL instead of inlining it. i.e. the workaround is fairly painless - gp On 1/26/2010 8:33 AM, Li, Li (Li) wrote: As described by Antoine, two approaches can provide the linkage between the port types of event source wsdl and notification wsdl. Regardless the approach taken, we think the following issues have to be addressed. 1) one-way or two-way links We think one-way link is sufficient since two-way links are more difficult to maintain. 2) direction of the links Both i) source -> notification and ii) notification -> source links can represent m-n relations. We think direction i) is more inline with the model in appendix A where the subscriber knows the event source first. 3) no event source port type It is possible that the event source wsdl has no port type because i) it has no operations other than ws-e; and ii) ws-e is implicit. In this case, the event source wsdl has no port types. If this happens, we may use a dummy empty port type in the event source wsdl. For example, a wsdl extension approach may look like: <portType name="xyz" eventTypes="list of URL" /> The advantage of this approach is that the links exist only between port types and we avoid the complexity arising from cross-linking ports and port types as proposed in [2]. 4) problem with wsdl import To import notification wsdl into event source wsdl (or vice visa) could be problematic for code generation by some tools. If the tools cannot distinguish regular operations from those representing event types, as they both are inbound, they may generate incorrect and unnecessary code. Typically, an event source implementation should generate server side code from the event source wsdl and client side code from the notification wsdl. If the two wsdl are merged through import, only one type of code will be generated. To address this issue, we should not import the wsdl files. Instead, the attributes or the policy assertions should indicate the URL of the wsdl. One way to achieve this using policy is proposed in [2][3]. An example to use plain URL to locate the port type in a wsdl is: eventType="http://wwww.example.com/myservice.wsdl#port-type-name" <http://wwww.example.com/myservice.wsdl#port-type-name> [1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=8198 [2] http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Aug/at t-0012/NotificationWSDL_for_6401-6661_v4_submit.htm [3] http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Aug/00 12.html Li
Received on Wednesday, 27 January 2010 16:26:35 UTC