Re: How best to transform a XML file into a message.
Sam, IMHO, it isn't worth doing web services unless you use the autogenerated code. I learned from experience to stop hand jamming xml. If your WSDL changes, you want to re-autogenerate the plumbing code on both your client and server side ... and with any luck, any code changes you have are isolated in the code you had to write in order to use the objects generated on your client side. But, I did find your question hard to answer. I've been successful hand jamming xml (and doing xslt) and wrapping it in a SOAP env for old fashioned rpc wsdls. But with doc-literal, you should try to use the objects generated by axis. did this help? On Thu, Apr 2, 2009 at 4:44 AM, Sam Carleton scarle...@miltonstreet.comwrote: Folks, I know this is a free forum thus folks are free to ignore questions. On the question below, the big question I have comes from my ignorance of the plumbing of Web Services. Any feedback, even feedback such as, Sam go learn more about the SOAP envelope to find out your own confort level, fore this is something only you can answer. would be much appreciated. Sam P.S. I am starting to talk to WSO2 about some paid support, I am hoping to get some feedback on this sooner rather then later, though ;) On Wed, Apr 1, 2009 at 7:34 AM, Sam Carleton scarle...@miltonstreet.comwrote: My first operation I need to implement with Axis2/C is sort of interesting... I have an XML file on the server that needs to be transformed and returned to the client. The question is how best to do this transformation? A: Do I use the code generated by WSDL2C and in the call to the operation populate the response using all the generated code and allowing the generated code to serialize it into the SOAP message? B: Do I write some XSLT (which I do know) to do the transformation in the services Invoke method? I like option B better, but I have a feeling there is some namespace and endpoint data that is magically done for me in option A. Myself being new to this whole thing, which would be faster for me to implement? I am thinking A, but would the learning experience of implementing B end up making my life a lot easier down the road? As I just posed, I have a lot more to learn about the whole WS-* stuff and to figure out where and/or if that will fit into my solution, would option B prevent me from using the other WS-* or do those things kick in before/after the services invoke? Sam
Re: How best to transform a XML file into a message.
I agree with everyone that the java implementations have been ahead of the c. Also, a whole lot depends on that WSDL. Read the online IBM article about 'Which WSDL should I use?' The service side can make decisions like returning an XML response message all the time instead of throwing an exception. Exceptions tend to be a pain in rearend in different languages including C and ZSI (Python). they work just fine in java. I ended up doing document-literal WSDLs all in java (Axis and now JAX-WS), but the design was often driven by what languages were on the client-side. If we had C++ and Python clients to integrate, the WSDL had to be pretty conservative. On the service-side in java I have even DOM parsed an XML file and filled the autogenerated classes created by the WSDL and XSD. There are also tricks to changing the service-side ... for example, you can try to nail your interface methods (WSDL) down and only add to your XSD. In some cases existing clients can just keep using the service without re-autogenerating ... but this is the beauty of a cleaner code design which capitalizes on the extensibility and standard parsing of XML. I'd like to know if other companies are doing a good job of managing and versioning their WSDL and XSD files (they should be separate).? or, are they just letting the whole governance and configuration management fall apart.? he he ... I'm laughing pretty hard right now. Well, Sam, perhaps we have now bent your ear with too much information. No matter what, don't feel bad ... there is a lot to learn ... and I swear, you can only learn this junk by doing ... LOL cara On Thu, Apr 2, 2009 at 9:52 AM, Sam Carleton scarle...@gmail.com wrote: On Thu, Apr 2, 2009 at 11:37 AM, cara pinkgran...@gmail.com wrote: Sam, IMHO, it isn't worth doing web services unless you use the autogenerated code. I learned from experience to stop hand jamming xml. If your WSDL changes, you want to re-autogenerate the plumbing code on both your client and server side ... and with any luck, any code changes you have are isolated in the code you had to write in order to use the objects generated on your client side. Very good point, things will change and using the autogenerated code will make that far less painful. Thank you. Sam
Re: is someone using axis-c web services in production ?
I do not use C/C++ server side for production. I have only worked on 'enterprise' systems ... so the web services must be in one of the following frameworks: J2EE or .NET. I have created the interface with Axis (Java) and recently JAX-WS. If the guts of my service needed to call C/C++ code, I have tied the interface classes in with JNI. C clients can use AxisC, gsoap whatever ... On Fri, Feb 27, 2009 at 10:19 AM, McCullough, Ryan rmccullo...@rightnow.com wrote: I do not use the server side of Axis C++ (not Axis2 C++), but I will say that 1.5 is very old. You will want to get the code from the subversion repository. It is much more stable than 1.5 or 1.6 beta. At least this has been our experience with the client. -Ryan *From:* Philippe Torrelli [mailto:philippe.torre...@alcatel-lucent.fr] *Sent:* Friday, February 27, 2009 1:36 AM *To:* axis-c-user@ws.apache.org *Subject:* is someone using axis-c web services in production ? Hello, I tried to test axis-C 1.5.0 that we planned to rely on to deploy C (++) web services, to find out that the httpd server crashes very often, even with sample services .. ( most of the time in calls to free ) . It doesn’t seem to be a problem when using the apache module, but the module forks a new process when it handles a call to a web service, which is not efficient enough for the hardware on which we planned to host these services, and also prevents us to for example share a pool of connections to our data base among our .so … Is there a stable and working http transport available, or are people out there just using the apache module ? or using axis-c only to call Web services ? A very easy way to reproduce is to download and install the binary release, use soapui to send bursts of calls to the ‘echo server’, the http transport very soon crashes. I used the very default parameters, tried using rest as well as soap action mapping.. I had the same kind of results using a recent svn version that I recompiled. Anyone has success with deploying web services in production with axis C ? TIA Philippe.
Re: Is AXIS2/C what I need?
Frank, Hi again. Just to cover our reasons for using gsoap: 1. It is older software ... fewer bugs. Lower risk for a production project. 2. We used it for an rpc wsdl, so nothing too fancy as far as wsdls go. 3. Our legacy C++ software developers and integration team knows almost nothing about building C++ code with ant (they dislike all things java). 4. Axis2 for java was not ready for production so (at the time) we did not consider Axis2/c. On 8/20/07, Samisa Abeysinghe [EMAIL PROTECTED] wrote: Frank Zhou wrote: Hi All, I am trying to build a web service application in c++, and now investigate to see if AXIS2/c can satisfy my needs. Specifically, I have the following requirements: (1) The library supports common web services standards like SOAP/HTTP/WSDL et cetera. I will use it to build a web service client application (web service consumer). Axis2/C can handle SOAP over HTTP. But there are some TODOs pending in WSDL space. (2) It should provides a rich set of APIs for me to traverse through a WSDL and make SOAP/HTTP calls. In particular, I need a WSDL parser so that I can parse a WSDL (given the WSDL file or the URL)to get the definitions. I DO NOT NEED TO CONVERT THE WSDL TO C++ code, just need to parse a WSDL to get the definitions, later on I will traverse the parsed objects to get the services, operations, messages and types (XML schemas) et cetera to build my only datastore for a given WSDL. This way I can dynamically handle different WSDLs in my application without generating the c++ code stubs every time. As mentioned earlier, there is a piece of code written in Axis2/C called woden, that can deal with the WSDL functionality that you are looking for. Unfortunately that is not in the main source tree, because we could not maintain it - due to lack of contributors in that space. At some point, however, someone will again start looking into that, at which point you would have WSDL handling features. (3) The library is in c++ and available for multi-platforms, like windows, linux and unix et cetera. Axis2/C is a C library, that works on Windows, Solaris, MacOS and Linux. Please let me know if AXIS2/c is a good choice to me. and how it is compared to gSOAP? I am not in a position to do a formal comparison on Axis2/C vs. gSOAP. However, here is an overview: - Axis2/C comes with Apache license, and gSOAP comes with GNU license - Axis2/C is just two years old, gSOAP has been around for much longer - Axis2/C is based on Axis2 architecture, an architecture designed to cope with extensions and addition of new WS-* spec implementations. You would have to refer to gSOAP site on their architecture - Axis2/C already have full WS-Security and WS-RM implementations, to my knowledge, gSOAP do not have those specs implemented fully. (http://www.bloglines.com/blog/samisa?id=57) - Axis2/C has a comparatively simple deployment model. You get Apache2 and IIS modules with Axis2/C. If you are using apache module to deploy, it is one off configuration. But if gSOAP, you have to configure Apache server for each and every service that you cant to deploy. - Axis2/C has the ability to support many other transports. It already support HTTP and TCP. WSO2 WSF/C has implemented an XMPP transport and one of the GSOC students is implementing and SMTP transport. To my knowledge, gSOAP only support HTTP transport HTH Regards, Samisa... Thanks very much. Frank Need a vacation? Get great deals to amazing places on Yahoo! Travel. http://travel.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Samisa Abeysinghe : WSO2 WSF/C http://wso2.org/projects/wsf/c?WSO2nbsp;Webnbsp;Servicesnbsp;Framework/Cnbsp;-nbsp;Opennbsp;sourcenbsp;Cnbsp;librarynbsp;fornbsp;providingnbsp;andnbsp;consumingnbsp;Webnbsp;services - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: web service libraries in C++
We have used gsoap for a scientific C++ app. The documentation is very good. Our app runs on Solaris and Windows(using mingw). Our gsoap client talks to an Axis java web service. It was ahead of AxisCpp when we investigated packages. http://www.cs.fsu.edu/~engelen/soap.html On 8/17/07, Frank Zhou [EMAIL PROTECTED] wrote: Hi All, I am searching for a AXIS-like library implemented in C++ (My application is in C++). Ideally, it will supports web services standards like SOAP/WSDL et cetera (just like AXIS), and is available in different platforms like windows, linux and unix. If anyone knows of such a library, would you please let me know? If you know of several, your opinions on them are also much appreciated. Thanks much in advance. Frank Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when. http://tv.yahoo.com/collections/222 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis throws always RemoteException
Does your generated deploy.wsdd give you any clues? I have exceptions working with doc/lit wrapped. The typeMapping in my wsdd file maps MyOwnExceptions to a type (an autogenerated Exception class). Initially, I had some problems in my namespace mapping, but I'm not sure I have enough info to help with your problem. On 8/6/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I have a webservice running under Axis 1.4. One Operation can throw an exception created by my own (MyOwnException): operation ... fault name=MyOwnException ... But if server side throws this exception (can see this exception is bundled fine into one soap fault), not a MyOwnException is thrown. Instead of this a RemoteException (AxisFault) is thrown, which has MyOwnException as faultDetail field. But i dont want to parse this field with a XMLParser. But at the moment i had to :(( Can anyone help me with this ? Its making me crazy ... thx Daniel Kuschow
Re: From Axis to Axis
I'd like someone to tell me that Axis2 is ready for prime time. I've jumped on the list partially to see if Axis2 is ready. But I see enough posts about Axis2 issues to hang tight with Axis1.4 for now. cara On 7/27/07, Anne Thomas Manes [EMAIL PROTECTED] wrote: If your Axis 1.x services use document/literal bindings, then the migration is pretty easy. If you use rpc bindings, though, you must convert them. Anne On 7/26/07, Demetris G [EMAIL PROTECTED] wrote: And thanks much to you David as well for the information below. I was expecting that some work at least will need to be done on the client side. david wrote: Hello Demetris, Ann Manes (above-the-call-of-duty) rewrote my Axis1.4WSDL (rpc-encoded) as so-called wrappered to assume the document-literal binding. And, Viola!, the WSDL2JAVA tool migrated the Axis1.4 code to Axis2. The only caveat is: the client has to be migrated likewise. HTH, David. Demetris G wrote .. Hi all, I asked this question once before and although a bit broad I thought I would hear something back. I am trying my luck once again - I see and hear poor souls out there struggling with real old versions of Axis and my guess is that migrating to Axis2 is a bit scary for them. Can anyone summarize what any Axis 1.X users can do to slowly make the move to Axis 2 ? Are we talking about a complete re-engineering of their designs or is there hope to migrate a bit smoother. And if this question (and I wouldn't be surprised) has been answered before then by all means, apologies, I will revert to the archives. And by the way - I wrote lots of code in Axis 1.4 and I am pretty happy with the results ... Cheers - 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] - 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]
Re: Fault logging
I had the same problem. My ServiceLogHandler extends the axis LogHandler. I can pull normal messages from the MessageContext by implementing the invoke method. To catch and log exceptions in the handler chain, I had to implement public void onFault(msgContext). On 7/23/07, landry soules [EMAIL PROTECTED] wrote: Hello, I developped a web service (server) and need to log every transaction in database. So i made a handler, inspired by org.apache.axis.handlers.LogHandler. I deployed it with deploy.wsdd, and it works well, for standard transactions. However, everytime my webservice answers with an error, the message isn't logged. For example : When mywebservice returns the message below, it isn't logged by my handler, nor by Axis' one. soapenv:Envelope soapenv:Body soapenv:Fault faultcodesoapenv:Server.userException/faultcode faultstring java.rmi.RemoteException: Authentification non valide /faultstring detail ns1:hostnamewmar6034/ns1:hostname /detail /soapenv:Fault /soapenv:Body /soapenv:Envelope Can somebody please help me ?