Re: Am I right?
Hi Supun, Let me take an example to explain, correct me if I am wrong. Flow1: Step1: I pass my datastructure to get the payload. 1000 records of Firstname, LastName, Address, Age, Sex, School, Hobbies. Step2: The datastructure is passed to libxml2 or guththila parser to construct the xml document out of it. libxml2 or guththila parser, constructs the xml document and returns the document. Step3: From this returned document, the AXIOM tree is constructed. Flow2: Step1: I pass the request to get records whose age is less than 20. Step2: libxml2 or guththila parser parses the xml document constructed [Pull Parser fashion] and returns the records. Step3: From the returned set of records, the AXIOM tree is constructed. Is this what you mean by What happens is the XML document is pull parsed by guththila or libxml2 and the values returned by this pull parsing is used to construct the tree or the linked list. Flow3: Step1: I pass the request to get the record with name=vamsi. Step2: libxml2 or guththila parser parses the xml document constructed [pull parser fashion] and returns the record if exists. Once parser finds the matching record, it stops to parse the document further and returns the record. Step3: From the returned value, the AXIOM tree is constructed. Is this what you mean by The main difference is that the XML document is parsed on demand with of the user. So the XML document can be parsed halfway and the model will be built halfway. In other parsing technologies we parse the whole XML document at once Observation: 1. From this I understood that, the xml document[DOM/OM] which is constructed in the Flow1 will be in memory to service our further queries. 2. From Flow2, the time taken to get the matching record of vamsi is O(n) which is same as in the traditional parsing techniques. Only difference is that traditional approach whould have parsed the entire document irrespective of it got the matching record or not, where as pull parsing stopped its search immediatly after matched record is found. Please let me know if I am in a right track now. Vamsi, IIIT-Hyd. --- On Wed, 7/2/08, Supun Kamburugamuva [EMAIL PROTECTED] wrote: From: Supun Kamburugamuva [EMAIL PROTECTED] Subject: Re: Am I right? To: Apache AXIS C User List axis-c-user@ws.apache.org Date: Wednesday, July 2, 2008, 10:12 AM i Friends, What I understood about AXIOM is this... please tell me if i am right... 1. Axiom is a linked list which is capable of holding the XML document more conveniently as it has members like attributes, namespaces, etc. Right. The linked list contains axiom_node_t structure. These nodes can contain data like axiom_element_t, axiom_text_t etc. 2. These members of the linked list are used to pin point the required node or required attribute of the node with out parsing the whole structure constructed, when ever needed. [This capability of pin pointing is called PULL PARSING technique] Right. After building this model or tree the pin pointing is more like in DOM. 3. We make use of libxml2 or guththilla parsers to construct the XML document [which is a DOM structure]. We call this Document oject model om. 4. This XML document acts as an input to construct the AXIOM tree which can be pull parsed. [AXIOM tree is a wrapper around libxml2's XML document, so that it can be pull parsed] I'm not sure what you are saying here. What happens is the XML document is pull parsed by guththila or libxml2 and the values returned by this pull parsing is used to construct the tree or the linked list. The main difference is that the XML document is parsed on demand with of the user. So the XML document can be parsed halfway and the model will be built halfway. In other parsing technologies we parse the whole XML document at once. Supun.. Am I right in understating the concepts of AXIOM and pull parsing? Please correct me if I am not correct. Vamsi, IIIT-Hyd.
Re: rampart and message with no parameter
Samisa Abeysinghe wrote: Frederic Heem wrote: Dear, Rampart has been successfully used for messages with at least one parameter. To be precise, sec_echo has been used with scenario3. However, a problem arises when a message without parameter has to sent, indeed, in this case, the body is empty and rampart refuses to send the message because it complains that no node has to be encrypted. Does anyone know how to tackle this problem ? One ugly hack would be to add a fake parameter, but one has to modify the wsdl. I think this is not a Rampart problem, rather an Axis2/C feature. If the payload is empty, Axis2/C thinks that there is something wrong. The rationale for this design was that, if there is no payload to send, why send an empty message. What are the semantics of you sending this message? What does that message do? I am trying to understand the meaning of such an empty message. The web service being developed has many messages, some of them doesn't have any parameters, e.g GetDeviceList() . In this case, the body is empty but the header is not empty and contains the action which is used by the server to dispatch this message. Therefore, it makes sense to send a message with an empty body. Without using rampart, axis2c doesn't complain about the empty body and send the message which is interpreted by the server correctly. Regards, Samisa... Frederic __ --- NOTICE --- This email and any attachments are confidential and are intended for the addressee only. If you have received this message by mistake, please contact us immediately and then delete the message from your system. You must not copy, distribute, disclose or act upon the contents of this email. Personal and corporate data submitted will be used in a correct, transparent and lawful manner. The data collected will be processed in paper or computerized form for the performance of contractual and lawful obligations as well as for the effective management of business relationship. The data processor is Telsey S.p.A. The data subject may exercise all the rights set forth in art. 7 of Law by Decree 30.06.2003 n. 196 as reported in the following url http://www.telsey.com/privacy.asp. __ 798t8RfNa6Dl8Ilf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] No virus found in this incoming message. Checked by AVG. Version: 8.0.101 / Virus Database: 270.4.3/1528 - Release Date: 7/1/2008 7:26 AM -- --- Frederic Heem - Innovation Hub Senior Engineer Telsey Telecommunications S.p.A. email: [EMAIL PROTECTED] Departement: Innovation Hub UK: Vanguard Centre, ATU II, Unit 8Sir William Lyons Road University of Warwick Science ParkCV4 7EZ Coventry Tel. direct phone (+39) 0422 377760 Central Bureau Viale dell'Industria, 1 31055 Quinto di Treviso (TV) - Italy Tel.: +39 0422470840 Fax: +39 0422470920 Web: www.telsey.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rampart and message with no parameter
The web service being developed has many messages, some of them doesn't have any parameters, e.g GetDeviceList() . In this case, the body is empty but the header is not empty and contains the action which is used by the server to dispatch this message. Therefore, it makes sense to send a message with an empty body. Without using rampart, axis2c doesn't complain about the empty body and send the message which is interpreted by the server correctly. Regards, If you have many operations and some of them have empty bodies I suggest you use operation level policies. Supun.. Samisa... Frederic __ --- NOTICE --- This email and any attachments are confidential and are intended for the addressee only. If you have received this message by mistake, please contact us immediately and then delete the message from your system. You must not copy, distribute, disclose or act upon the contents of this email. Personal and corporate data submitted will be used in a correct, transparent and lawful manner. The data collected will be processed in paper or computerized form for the performance of contractual and lawful obligations as well as for the effective management of business relationship. The data processor is Telsey S.p.A. The data subject may exercise all the rights set forth in art. 7 of Law by Decree 30.06.2003 n. 196 as reported in the following url http://www.telsey.com/privacy.asp. __ 798t8RfNa6Dl8Ilf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] No virus found in this incoming message. Checked by AVG. Version: 8.0.101 / Virus Database: 270.4.3/1528 - Release Date: 7/1/2008 7:26 AM -- --- Frederic Heem - Innovation Hub Senior Engineer Telsey Telecommunications S.p.A. email: [EMAIL PROTECTED] Departement: Innovation Hub UK: Vanguard Centre, ATU II, Unit 8Sir William Lyons Road University of Warwick Science ParkCV4 7EZ Coventry Tel. direct phone (+39) 0422 377760 Central Bureau Viale dell'Industria, 1 31055 Quinto di Treviso (TV) - Italy Tel.: +39 0422470840 Fax: +39 0422470920 Web: www.telsey.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rampart and message with no parameter
On Wed, 2008-07-02 at 18:52 +0530, Manjula Peiris wrote: There can be messages with empty bodies. For example WS-Reliable messaging sends such messages. I think this is a bug in Rampart/C. Because what following assertion says is encrypt the first child of body if it is there. sp:EncryptedParts sp:Body/ /sp:EncryptedParts So if the body is not there it should not return an error. Rather if it is an empty body it should not return an error from Rampart/C. On Wed, 2008-07-02 at 09:28 +0100, Frederic Heem wrote: Samisa Abeysinghe wrote: Frederic Heem wrote: Dear, Rampart has been successfully used for messages with at least one parameter. To be precise, sec_echo has been used with scenario3. However, a problem arises when a message without parameter has to sent, indeed, in this case, the body is empty and rampart refuses to send the message because it complains that no node has to be encrypted. Does anyone know how to tackle this problem ? One ugly hack would be to add a fake parameter, but one has to modify the wsdl. I think this is not a Rampart problem, rather an Axis2/C feature. If the payload is empty, Axis2/C thinks that there is something wrong. The rationale for this design was that, if there is no payload to send, why send an empty message. What are the semantics of you sending this message? What does that message do? I am trying to understand the meaning of such an empty message. The web service being developed has many messages, some of them doesn't have any parameters, e.g GetDeviceList() . In this case, the body is empty but the header is not empty and contains the action which is used by the server to dispatch this message. Therefore, it makes sense to send a message with an empty body. Without using rampart, axis2c doesn't complain about the empty body and send the message which is interpreted by the server correctly. Regards, Samisa... Frederic __ --- NOTICE --- This email and any attachments are confidential and are intended for the addressee only. If you have received this message by mistake, please contact us immediately and then delete the message from your system. You must not copy, distribute, disclose or act upon the contents of this email. Personal and corporate data submitted will be used in a correct, transparent and lawful manner. The data collected will be processed in paper or computerized form for the performance of contractual and lawful obligations as well as for the effective management of business relationship. The data processor is Telsey S.p.A. The data subject may exercise all the rights set forth in art. 7 of Law by Decree 30.06.2003 n. 196 as reported in the following url http://www.telsey.com/privacy.asp. __ 798t8RfNa6Dl8Ilf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] No virus found in this incoming message. Checked by AVG. Version: 8.0.101 / Virus Database: 270.4.3/1528 - Release Date: 7/1/2008 7:26 AM - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]