Re: How best to transform a XML file into a message.

2009-04-02 Thread cara
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.

2009-04-02 Thread cara
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 ?

2009-02-27 Thread cara
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?

2007-08-21 Thread cara
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++

2007-08-17 Thread cara
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

2007-08-06 Thread cara
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

2007-07-27 Thread cara
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

2007-07-23 Thread cara

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 ?