You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by Lawrence Mandel <lm...@ca.ibm.com> on 2006/06/20 21:37:33 UTC

Minutes of the Woden Status Telecon, 2006-06-20

Attendees: Lawrence Mandel, Samuel Isokpunwu, John Kaputin, Oshani 
Seneviratne (via IRC), Arthur Ryman, Eran Chinthaka

Minutes

1. Open Action Items - Lawrence Mandel 

2006-06-13: Eran to post a summary of the scenario to woden-dev. 
Lawrence: Done. I was this was posted to Woden-dev
Closed.

2. M5 Status - John Kaputin 
John: Dims has already voted +1. We need two more incubator PMC votes. I'm 
going to post directly to Sanjiva and Paul to get their votes for M5. 

3. Interoperability Status - Lawrence Mandel 
John: Nothing new from me. I saw some notes from Arthur and Eran. I've 
left Graham to pursue this. He's going to test with the code from the 
Axis2 repository. Eran will show off Axis2/Woden at the interop event in 
July.

Lawrence: Are there any blocking issues for the interop event?
John: I need to take a closer look.
[action] Lawrence and John will review the open bugs for blocking interop 
problems.
John: I think the real important thing is to go through the W3C interop 
report and identify the cause of the failures.

Note: Arthur joined the call late. We continued the above discussion 
below.

Lawrence: Arthur, do you know if the failing Woden tests are due to 
problems with the interchange generator or with Woden?
Arthur: The failing interchange results are from problems in Woden. 
John: If there's a required extension property those classes will always 
exist.
Arthur: That's not right.
John: How do you provide a default value?
Arthur: The first concept is which extensions are supported. Woden 
supports 4 extensions. Should implement those 4. Two are tiny. One is 
safety and one is RPC signature. Two are big, SOAP and HTTP binding. 
Safety always exists (may change to optional). RPC is only present if RPC 
style is present. For bindings, HTTP binding will occur if type of binding 
is HTTP and SOAP will occur if type is SOAP. They don't both occur all the 
time. This is my interpretation of spec. There is also an extension of 
endpoint which is an HTTP extension. Even if the object only contains 
optional values it should still be created. The extension is present 
depending on the value of the type. Another problem I found, in the SOAP 
binding it reuses some properties defined by the HTTP extension. Those 
extension objects should have properties in them. The SOAP extension 
object will contain HTTP properties.

John: Another thing to consider is whether component property wrappers is 
the right way to go.
Arthur: I don't see a way around it.
John: Can do runtime checking but then no compile time checking.
Arthur: Have to specify extensions that component model interface 
supports. Can't pick out what extensions to add based on document.

Arthur: One other problem, when we use a schema location in the types 
section in theory it can be a fragment identifier. Woden currently doesn't 
use Xerces correctly so this doesn't work. See Woden-10.

4. StAX Parser Implementation - Oshani Seneviratne
Arthur: What's the benefit of StAX parsing for WSDL?
Eran: 1. Axiom performance tests should it is faster than other object 
models and consumes less memory. 2. Axis2 works with pull stream so 
integration will be easier if Woden works this way as well.
Arthur: What kind of access on the object model are you doing? If you say 
get me all the interfaces it has to get everything.
Eran: If the Woden model is completely on Axiom then even imported 
documents will only be read to the extend that we need. For code 
generation we need the whole thing.

John: Current DOM impl parses DOM into the Woden model.
Eran: So we'll replace the DOM with Axiom.
Arthur: Then you're creating a mapping from Axiom to the Woden API.
Eran: Better to implement Woden interfaces on top of Axiom. Read directly 
to the WSDL model.

Eran: Woden will affect Axis2 when deploying a service and generating a 
WSDL document from Java. If someone will access a WSDL doc during runtime 
we should use Woden.
John: So your concern is about performance not about the Xerces 
dependency.
Eran: Correct.
John: Are there any plans to remove the DOM dependency in XmlSchema?
Eran: Well we also have a DOM dependency in WSDL4J.

The following conversation took place on IRC for this item in the agenda:

[11:15AM] lmandel: OK Oshani. You're up.
[11:16AM] oshani: ok... thanks
[11:16AM] oshani: I want to know how I may get around with the 
dependencies in the *attrImpl classes?
[11:16AM] oshani: dependencies on DOM
[11:17AM] lmandel: John's going to have a quick look.
[11:17AM] oshani: Actually, I would like to know how the extension 
attribute parsing is done with the current model
[11:19AM] jkaputin: The qname of the extension attribute is registered in 
the ext registry with a XMLAttr subtype
[11:19AM] jkaputin: The XMLAttr subtype has the deserialization logic in 
its implementation
[11:20AM] oshani: could u explain what the methods init and convert try to 
do there?
[11:21AM] jkaputin: init method takes the DOM Element that contains the 
extension attribute and the QName of the extension attr and the String 
value of the ext attr...
[11:22AM] jkaputin: The convert method is implemented by the XMLAttrImpl 
subclass. It has the deserailization logic to convert the string to an 
XMLAttr object
[11:23AM] jkaputin: OK?
[11:23AM] oshani: hmm... I would have to pass an OMAttribute to the 
parseExtensionAttributes, and I'm not clear how I should proceed 
afterwards..
[11:23AM] oshani: should I try to convert the OMAttribute to a DOM 
element?
[11:25AM] lmandel: Is there some way the John, is there some way we can 
extract the info needed from the DOM element and pass that in instead of 
the DOM element?
[11:25AM] jkaputin: No I don't think so. We probably need to do something 
different with XMLAttr.init so that it is not DOM dependent. I have not 
yet considered what, though.
[11:25AM] jkaputin: Re you last question...
[11:26AM] jkaputin: The DOM element is used to resolve any namespace 
prefix included in the String value of the ext attribute
[11:26AM] oshani: when u say, something different, do u mean implement 
another init?
[11:27AM] jkaputin: Maybe it's possible to pass around just the qname of 
the parent element and let the implementation resolve this to an object 
(DOM Element or OMAttribute or whatever)
[11:28AM] jkaputin: Yes, another method signature for the init method
[11:30AM] oshani: i did not understand what u mean by "pass around the 
qname of parent..."
[11:31AM] oshani: in the case of an extension attribute, what do u 
consider as the parent?
[11:32AM] jkaputin: I meant the qname of the element that contains the 
extension attribute
[11:32AM] oshani: okay...
[11:32AM] jkaputin: Can I give this some thought offline and liaise via 
the woden-dev list or another IRC chat?
[11:32AM] oshani: sure...
[11:33AM] jkaputin: We are just having a conversation about StAX, hang on 
a moment - might have some questions for you.
[11:34AM] oshani: if it's the best option, i prefer having another method 
signatures in init and convert, which would take in OM stuff
[11:35AM] jkaputin: We realized early on that we need to eliminate or 
address DOM dependencies in the Woden API, so changing the current init 
method is probably the way to go. Just need to give it some more thought
[11:36AM] jkaputin: We probably don't want DOM-dependent and OM-dependent 
methods. Better to abstract both, I think.
[11:37AM] oshani: yes, that would be the best solution
[11:40AM] oshani: Lawrence, u told me about the need to do WSDL 2.0 
document and component validation with regards to a StAX based parser. But 
if I'm just substituting the object model, there would be no need for it, 
right?
[11:40AM] oshani: I suppose the Woden object model takes care of it
[11:42AM] oshani: At the moment, I am only validating the XML only. For 
eg. whether they are the expected children in the model
[11:43AM] oshani: is that what you meant? or is it something else?
[11:53AM] lmandel: Sorry Oshani. We're just discussing something else. 
I'll take a look at your questions in a few minutes.
[11:53AM] oshani: sure.. no problem
[12:08PM] aragorn: I like to hear an answer from  Arthur abt the interop 
question made in the list
[12:09PM] aragorn: basically to be clear abt whay exactly we should do
[12:09PM] aragorn: please s/aragorn/chinthaka
[12:43PM] lmandel: Hi Oshani. Sorry for the delay. Validation of WSDL 
consists of more than simply validating the XML elements. There are 
semantic WSDL rules that are not covered by simple XML conformance 
checking or schema validation. For example, bindings can reference 
interfaces. There is no way using schema validation to ensure the 
interface references reference defined interfaces.
[12:44PM] oshani: so, isn't the Woden model take care of that already?
[12:45PM] lmandel: The Woden model doesn't do semantic WSDL validation 
itself but rather there is a separate validation component that is called 
after the model is created to validate.
[12:46PM] lmandel: I thought you were asking what WSDL validation consists 
of. Are you asking what needs to be handled by the StAX parser?
[12:46PM] oshani: yes,
[12:47PM] oshani: and what I am doing now is take the AXIOM model of the 
WSDL and parse it into the Woden specific objects
[12:47PM] lmandel: OK. So yes. The StAX parser is responsible for XML 
conformance and schema validation.
[12:48PM] oshani: about schema validation... I am using XMLSchema for 
that, after serializing the OMElement into an InputSource
[12:49PM] lmandel: To be clear, by schema validation I don't mean 
validation of inline schemas. I mean validation of a WSDL document against 
the WSDL schema.
[12:50PM] oshani: okay
[12:50PM] lmandel: Are we on the same page?
[12:51PM] oshani: yes, it was just that I saw in some of the comments to 
support RelaxNG in the future
[12:51PM] oshani: and got bit confused I guess 
[12:51PM] lmandel: That's a different requirement. That requirement is for 
the inline types.
[12:53PM] oshani: on a different note, do u have wsdls that were tested 
for all the parsing methods?
[12:53PM] oshani: so far I only found 2 wsdls with the svn checkout
[12:54PM] lmandel: I think we're currently just using the ones in the W3C 
test suite.
[12:54PM] lmandel: (Link: 
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/index.html)http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/index.html
[12:54PM] oshani: thanks
[12:56PM] oshani: Well, I guess that's about it for the moment. Thanks a 
lot for answering my questions and clearing the doubts I had.
[12:57PM] lmandel: np. Feel free to get in touch at any time through the 
dev list for more help. If needed we can start an IRC chat.
[12:57PM] oshani: thanks again.

5. Other Business - Open 

Eran: I ran into a problem using WSDLSource.
John: Call WSDLReader createWSDLSource which will give you a WSDLSource 
object specific for DOM implementation. On WSDLSource you can set source 
and pass in DOM document, element or inputsource. Get a runtime exception 
if not one of those.
Eran: I created a WSDLSource using null.
John: There is an implementation specific for the reader type. You need to 
call the setSource method before passing it in.

John: Should we have an M6 before the interop? About a week turnaround 
time on voting.
Lawrence: I'd prefer to just have a build before the interop event, fix 
problems at the event and declare M6 after the event.


Thanks, 

Lawrence Mandel