www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - gSoap

reply "James K Smith" <jksmith dx-machine.com> writes:
Has anyone wrapped up gSoap? Google shows old messages on the topic, and D
sorely needs an app server that will take something besides Hessian, and
over https.

James
Aug 01 2007
next sibling parent reply "James K Smith" <jksmith dx-machine.com> writes:
No one is attempting commercial grade web services with D in the mix?
Aug 02 2007
parent reply kenny <funisher gmail.com> writes:
No, I definitely am using D for commercial grade web services but not with
gsoap... I'd actually never even looked into soap, so I looked through gsoap's
website... I'll be honest, I have no idea what it's talking about...

It shouldn't be too hard to bind it though. It appears that everything goes
through C interfaces. You could also write some sweet sweet templates to
automate some of that nonsense on the page in the examples sections (seems like
a lot to do very little).

---------------------

In my experience, using D for web applications is most awesome. It's great when
I run the stress tests and notice that the database is taking 130% of the CPU,
and D is only taking 10-20% -- the rest is iowait. Because, I know, when I
memcache that, the times will go right back up.

IMO, D ROCKS for web development, and I'm surprised more people aren't taking
advantage of it. D's language allows for extremely fast development (for me,
equal or faster than PHP). The only caveat to D is, you MUST run behind a load
balancing / failover proxy (suggest HAProxy), because there has to be immediate
failover in case your program segfaults (this has happened a few times before
to me). Scripting languages won't segfault though, which is nice.



James K Smith wrote:
 No one is attempting commercial grade web services with D in the mix?
 
 
Aug 02 2007
parent reply "James K Smith" <jksmith dx-machine.com> writes:
"kenny" <funisher gmail.com> wrote in message
news:f8u7bc$nf0$1 digitalmars.com...
 No, I definitely am using D for commercial grade web services but not with
gsoap... I'd actually never even looked into soap, so I looked through gsoap's website... I'll be honest, I have no idea what it's talking about... What I meant by "commercial grade," was implementing a standard protocol over https. Most any shop no matter what the dev tools can shoot me soap messages through a client after I publish the wsdl for the calls. It would be great to have something standard like this implemented in D. xml-rpc would work as well. Add https or tls to the mango http server, and it's a starting point. Http without security and authentication is not much value for commerce of course. In the meantime though, gsoap does all this stuff in straight C.
 It shouldn't be too hard to bind it though. It appears that everything
goes through C interfaces. You could also write some sweet sweet templates to automate some of that nonsense on the page in the examples sections (seems like a lot to do very little). Doing some work with bcd.gen now.
Aug 02 2007
parent reply kenny <funisher gmail.com> writes:
That's great it works.

So, all it does is generate xml files to be tranferred over http[s]? Or does it
also request xml files from outside sources (as if it was an api). Sorry, the
only experience I have with this is the youtube api where I send them the video
id, and the respond back with all of the meta data in xml format... something
like that?

Also, I don't know why you would want it reimplemented in D, when a C one
exists... At the moment, I use tons of C mixed with D, and it works great...
just remember to .dup your strings :)

Example for me... Making a web server in D is difficult, so instead I just
stripped shttpd and stuck D as the frontend. It works great. On my laptop, I
can generate 2-3k D generated pages per second (average 60 opcodes per page
from the template engine). Quite frankly, D sucks for some things -- like
sockets for example. For some reason, I can always get them to go faster in C
than I can in D. The other thing is threads. locking mutexes and not having
tons of problems works perfect in C, but in D, I want to kill myself. If I use
the standard threads, it issues a USER1/USER2 signal every time the gc is run
(extremely annoying in gdb). If I implement my own threading using pthreads, I
sometimes get undefined behaviour... it just seems annoying is all, when in C,
I know exactly what is happening.

I would just make D the frontend, and let C do all of the work. It's saved me a
lot of hassles in the past.

James K Smith wrote:
 "kenny" <funisher gmail.com> wrote in message
 news:f8u7bc$nf0$1 digitalmars.com...
 No, I definitely am using D for commercial grade web services but not with
gsoap... I'd actually never even looked into soap, so I looked through gsoap's website... I'll be honest, I have no idea what it's talking about... What I meant by "commercial grade," was implementing a standard protocol over https. Most any shop no matter what the dev tools can shoot me soap messages through a client after I publish the wsdl for the calls. It would be great to have something standard like this implemented in D. xml-rpc would work as well. Add https or tls to the mango http server, and it's a starting point. Http without security and authentication is not much value for commerce of course. In the meantime though, gsoap does all this stuff in straight C.
 It shouldn't be too hard to bind it though. It appears that everything
goes through C interfaces. You could also write some sweet sweet templates to automate some of that nonsense on the page in the examples sections (seems like a lot to do very little). Doing some work with bcd.gen now.
Aug 03 2007
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
kenny Wrote:

 Quite frankly, D sucks for some things -- like sockets for example. For some
reason, I can always get them to go faster in C than I can in D. The other
thing is threads. locking mutexes and not having tons of problems works perfect
in C, but in D, I want to kill myself. If I use the standard threads, it issues
a USER1/USER2 signal every time the gc is run (extremely annoying in gdb). If I
implement my own threading using pthreads, I sometimes get undefined
behaviour... it just seems annoying is all, when in C, I know exactly what is
happening.
 
Try Tango.
Aug 03 2007
prev sibling parent reply downs <default_357-line yahoo.de> writes:
kenny wrote:
 it issues a USER1/USER2 signal every time the gc is run (extremely annoying in
gdb)
handle SIGUSR1 noprint nostop SIGUSR2 noprint nostop --downs
Aug 03 2007
parent kenny <funisher gmail.com> writes:
I don't know how to say this, but that line is the single most useful
information in this whole newsgroup :)

Thank you!

downs wrote:
 kenny wrote:
 it issues a USER1/USER2 signal every time the gc is run (extremely
 annoying in gdb)
handle SIGUSR1 noprint nostop SIGUSR2 noprint nostop --downs
Aug 03 2007
prev sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
James K Smith Wrote:

 Has anyone wrapped up gSoap? Google shows old messages on the topic, and D
 sorely needs an app server that will take something besides Hessian, and
 over https.
 
 James
 
 
You might have some luck generating a binding for it with bcd.gen
Aug 02 2007
parent "James K Smith" <jksmith dx-machine.com> writes:
Thanks, I'm working on it with bcd.gen. Nice tool.
Aug 02 2007