RE: How to access and use Serializer independently?
Okay, your answer implies that you use an external serializer to get he XML, not the “built-in” one in Axis1.2. Yes, there are many ways to do that. In fact, I solved it temporarily by using Castor. It too, like XStream, knows how to serialize a bean based java object to XML. It took 2 or 3 lines of code like your example. But, the whole point of using WSDLtoJava and getting Axis to generate and use the java objects for serializing and deserializing is the notion that I shouldn’t need get yet another 3rd party product and reinvent the wheel. After all, the generated java objects are generated with all the necessary namespace awareness etc. They are built into the classes, I can see them. It is inconceivable to me that I can’t get at them independent of Axis neeeding a msgContext etc to handle this. I’m also very surprised that nobody on this list has ever had the need to simply populate a generated java object and want access to serialized data without invoking the “invoke” command. I suppose I can continue to crawl through the Axis code and figure out how to do this, there has got to be a way. Again, for the record, the reason why I’m doing this is because I want to support a simple REST interface in addition to SOAP. I get data on a “post” to my server/servlet, I generate the appropriate serviceRequest object (the generated one, the one I would normally get through a SOAP service), I then pass it to my back end that knows how to process this, and it returns me “serviceResponse”, again the generated object. At this point Axis has not even been used. All I want now is to use what Axis uses to create the DOM and get the XML so I can write it back down httpRequest.OutputStream. ah, not so complicate – but I guess nobody else has done this. Thanks for you input and help Uday, I suppose I shouldn’t bang my head against this and just use yet another serialzer even thought Axis has one and I can’t use it independently. From: Uday Kamath [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 10:11 AM To: axis-user@ws.apache.org Subject: RE: How to access and use Serializer independently? There are many ways, i can tell you how i did it once, the serializable java object which is response of web service (wsdl2java generated from 1.2/1.3) can be passed on to XStream (http://xstream.codehaus.org/) as a Java Bean that generates XML from the Bean in a faster way. You cna give synonyms like below and have a great formatted XML back. public PurchaseOrderFusionService(String wsdlUrl) { this.wsdlURI=wsdlUrl; xstream.alias( "PurchaseOrder",examples.webservices.purchaseOrder.statelessSession.PurchaseOrder.class); xstream.alias( "Item",examples.webservices.purchaseOrder.statelessSession.Item.class); } public String[] findAll() throws Exception { PurchaseOrder[] orders = getPurchaseOrderService().getAllPurchaseOrders(); String[] results = new String[orders.length]; for(int i=0; i< results.length; i++){ results[i] = xstream.toXML(orders[i]); } return results; } Hope that gives you some solution -Uday From: Parikh,Pratik [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:48 AM To: axis-user@ws.apache.org Subject: RE: How to access and use Serializer independently? Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AM To: axis-user@ws.apache.org Subject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PM To: axis-user@ws.apache.org Subject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input
RE: How to access and use Serializer independently?
Hi Uday, Can we use this to serialize and deserialize the object before sending over to the webservice or is the serialization/deserialization implement by axis. Thanks, Parikh, Pratik | Software Engineer | Cerner Corporation | (1)-816-201-1298 | [EMAIL PROTECTED] | www.cerner.com From: Uday Kamath [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:11 AMTo: axis-user@ws.apache.orgSubject: RE: How to access and use Serializer independently? There are many ways, i can tell you how i did it once, the serializable java object which is response of web service (wsdl2java generated from 1.2/1.3) can be passed on to XStream (http://xstream.codehaus.org/) as a Java Bean that generates XML from the Bean in a faster way. You cna give synonyms like below and have a great formatted XML back. public PurchaseOrderFusionService(String wsdlUrl) { this.wsdlURI=wsdlUrl; xstream.alias( "PurchaseOrder",examples.webservices.purchaseOrder.statelessSession.PurchaseOrder.class); xstream.alias( "Item",examples.webservices.purchaseOrder.statelessSession.Item.class); } public String[] findAll() throws Exception { PurchaseOrder[] orders = getPurchaseOrderService().getAllPurchaseOrders(); String[] results = new String[orders.length]; for(int i=0; i< results.length; i++){ results[i] = xstream.toXML(orders[i]); } return results; } Hope that gives you some solution -Uday From: Parikh,Pratik [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:48 AMTo: axis-user@ws.apache.orgSubject: RE: How to access and use Serializer independently? Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AMTo: axis-user@ws.apache.orgSubject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PMTo: axis-user@ws.apache.orgSubject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input. Now, all I really want to do is take FooResponse and use Axis Deserializer to generate XML or a DOM from which I can get to the XML so that I can write it back to the Web Client httpResponse. How do I do that? Is there not an easy way to use the getSerializer built into the generated objects and invoke it? If so, what is the magic sequence to do this? I’m hoping the answer is far shorter than the question. Thanks for any help -paul CONFIDENTIALITY NOTICEThis message and any included attachmentsare from Cerner Corporation and are intendedonly for the addressee. The informationcontained in this message is confidential andmay constitute inside or non-public informationunder international, federal, or statesecurities laws. Unauthorized forwarding,printing, copying, distribution, or use of suchinformation is strictly prohibited and may beunlawful. If you are not the addressee, pleasepromptly delete this message and notify thesender of the delivery error by e-mail or youmay call Cerner's corporate offices in KansasCity, Missouri, U.S.A at (+1) (816)221-1024. --
RE: How to access and use Serializer independently?
paul that is the same question I have, but seems like no one is answering anything for that question? Thanks, Parikh, Pratik | Software Engineer | Cerner Corporation | (1)-816-201-1298 | [EMAIL PROTECTED] | www.cerner.com From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:10 AMTo: axis-user@ws.apache.orgSubject: RE: How to access and use Serializer independently? Thanks for the hint. I am not intending to send this anywhere, it is not created in the context of any message. I know how to get at the XML when running a message through handlers. Are you suggesting that what I have to do is to invoke it in such a way that a handler is called, the XML is extracted and the invocation is then aborted? I was hoping that a call the generatedobject.getSerializer().doSomething could generate XML or DOM without utilizing the axis engine/handlers. From: Parikh,Pratik [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:48 AMTo: axis-user@ws.apache.orgSubject: RE: How to access and use Serializer independently? Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AMTo: axis-user@ws.apache.orgSubject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PMTo: axis-user@ws.apache.orgSubject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input. Now, all I really want to do is take FooResponse and use Axis Deserializer to generate XML or a DOM from which I can get to the XML so that I can write it back to the Web Client httpResponse. How do I do that? Is there not an easy way to use the getSerializer built into the generated objects and invoke it? If so, what is the magic sequence to do this? I’m hoping the answer is far shorter than the question. Thanks for any help -paul CONFIDENTIALITY NOTICEThis message and any included attachmentsare from Cerner Corporation and are intendedonly for the addressee. The informationcontained in this message is confidential andmay constitute inside or non-public informationunder international, federal, or statesecurities laws. Unauthorized forwarding,printing, copying, distribution, or use of suchinformation is strictly prohibited and may beunlawful. If you are not the addressee, pleasepromptly delete this message and notify thesender of the delivery error by e-mail or youmay call Cerner's corporate offices in KansasCity, Missouri, U.S.A at (+1) (816)221-1024. --
RE: How to access and use Serializer independently?
There are many ways, i can tell you how i did it once, the serializable java object which is response of web service (wsdl2java generated from 1.2/1.3) can be passed on to XStream (http://xstream.codehaus.org/) as a Java Bean that generates XML from the Bean in a faster way. You cna give synonyms like below and have a great formatted XML back. public PurchaseOrderFusionService(String wsdlUrl) { this.wsdlURI=wsdlUrl; xstream.alias( "PurchaseOrder",examples.webservices.purchaseOrder.statelessSession.PurchaseOrder.class); xstream.alias( "Item",examples.webservices.purchaseOrder.statelessSession.Item.class); } public String[] findAll() throws Exception { PurchaseOrder[] orders = getPurchaseOrderService().getAllPurchaseOrders(); String[] results = new String[orders.length]; for(int i=0; i< results.length; i++){ results[i] = xstream.toXML(orders[i]); } return results; } Hope that gives you some solution -Uday From: Parikh,Pratik [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:48 AMTo: axis-user@ws.apache.orgSubject: RE: How to access and use Serializer independently? Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AMTo: axis-user@ws.apache.orgSubject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PMTo: axis-user@ws.apache.orgSubject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input. Now, all I really want to do is take FooResponse and use Axis Deserializer to generate XML or a DOM from which I can get to the XML so that I can write it back to the Web Client httpResponse. How do I do that? Is there not an easy way to use the getSerializer built into the generated objects and invoke it? If so, what is the magic sequence to do this? I’m hoping the answer is far shorter than the question. Thanks for any help -paul CONFIDENTIALITY NOTICEThis message and any included attachmentsare from Cerner Corporation and are intendedonly for the addressee. The informationcontained in this message is confidential andmay constitute inside or non-public informationunder international, federal, or statesecurities laws. Unauthorized forwarding,printing, copying, distribution, or use of suchinformation is strictly prohibited and may beunlawful. If you are not the addressee, pleasepromptly delete this message and notify thesender of the delivery error by e-mail or youmay call Cerner's corporate offices in KansasCity, Missouri, U.S.A at (+1) (816)221-1024. --
RE: How to access and use Serializer independently?
Thanks for the hint. I am not intending to send this anywhere, it is not created in the context of any message. I know how to get at the XML when running a message through handlers. Are you suggesting that what I have to do is to invoke it in such a way that a handler is called, the XML is extracted and the invocation is then aborted? I was hoping that a call the generatedobject.getSerializer().doSomething could generate XML or DOM without utilizing the axis engine/handlers. From: Parikh,Pratik [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 9:48 AM To: axis-user@ws.apache.org Subject: RE: How to access and use Serializer independently? Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AM To: axis-user@ws.apache.org Subject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PM To: axis-user@ws.apache.org Subject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input. Now, all I really want to do is take FooResponse and use Axis Deserializer to generate XML or a DOM from which I can get to the XML so that I can write it back to the Web Client httpResponse. How do I do that? Is there not an easy way to use the getSerializer built into the generated objects and invoke it? If so, what is the magic sequence to do this? I’m hoping the answer is far shorter than the question. Thanks for any help -paul CONFIDENTIALITY NOTICE This message and any included attachments are from Cerner Corporation and are intended only for the addressee. The information contained in this message is confidential and may constitute inside or non-public information under international, federal, or state securities laws. Unauthorized forwarding, printing, copying, distribution, or use of such information is strictly prohibited and may be unlawful. If you are not the addressee, please promptly delete this message and notify the sender of the delivery error by e-mail or you may call Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1) (816)221-1024. --
RE: How to access and use Serializer independently?
Hi Paul, I would guess yes. You will have to write a handler for it. Thanks, Parikh, Pratik From: Paul Grillo [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 26, 2005 8:42 AMTo: axis-user@ws.apache.orgSubject: FW: How to access and use Serializer independently? Can’t believe that nobody has tried this. Let me reword it, and maybe somebody can give me a yes/no answer. Is it possible to populate an axis1.2 generated java binding object (from WSDL2Java) and generate XML to an outputstream? yes or no would be good. if yes, a general idea on how would be helpful I thank anybody that can help. From: Paul Grillo Sent: Monday, October 24, 2005 12:15 PMTo: axis-user@ws.apache.orgSubject: How to access and use Serializer independently? I’ve been playing with this for awhile, and there just “seems” to be a lot of coupling that makes it difficult to do this. Essentially I have a service running perfectly using the default serializer/deserializer for Axis 1.2 Now I would like to incorporate a REST interface on a few simple messages we support. Scenario. FooRequest and FooResponse are classes that work just fine. They have been generated by WSDLtoJava and we use them with our service. I now get a Post that contains parameters that allow me to create FooRequest from the httpRequest. We scrub it and do it properly. We then take FooRequest and pass it to our backend processor that knows how to return the FooResponse object. Normally this object is passed back to the Axis engine and it handles it for non-REST input. Now, all I really want to do is take FooResponse and use Axis Deserializer to generate XML or a DOM from which I can get to the XML so that I can write it back to the Web Client httpResponse. How do I do that? Is there not an easy way to use the getSerializer built into the generated objects and invoke it? If so, what is the magic sequence to do this? I’m hoping the answer is far shorter than the question. Thanks for any help -paul CONFIDENTIALITY NOTICE This message and any included attachments are from Cerner Corporation and are intended only for the addressee. The information contained in this message is confidential and may constitute inside or non-public information under international, federal, or state securities laws. Unauthorized forwarding, printing, copying, distribution, or use of such information is strictly prohibited and may be unlawful. If you are not the addressee, please promptly delete this message and notify the sender of the delivery error by e-mail or you may call Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1) (816)221-1024. --