Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Install gsoap on OSS

370 views
Skip to first unread message

William, Lin

unread,
Oct 25, 2010, 2:48:04 AM10/25/10
to
Dear All,

These days I was trying to install gsoap-2.5 on OSS, this library has
been installed finally but it seems some other packages are required
if we want to use WS-Security function.

Does anyone know where&how I can get this ws-security package for OSS
or wheather there are some other way instead ( I need to send SOAP
message to a web service via WS-Security certification) ?

Below is information from gsoap Readme.
-----
There are always new things to be desired. Here is a short list of
things
we are currently working on:

* wsdl2h is a new tool and will be further tested in the field before
stable status can be established. Notably the SOAP header and fault
parts may
cause issues.
* WSDL 2.0 support
* WS-Security support
* HTTP/MIME attachment handling
-----

Thanks,
@will

Joachim Schmitz

unread,
Oct 25, 2010, 10:48:59 AM10/25/10
to


As I read this WS-Security is not included in this version of gsoap.
There may be newer version out there that to have this.

Just checked: the latest version apparently is 2.8.0. Whether it includes
WS-Security support is left as an excercise to the reader ;-)

If it does, it'd need to get ported to NonStop, no idea how much effort this
would mean and whether it is possibl at all.

Bye, Jojo


Young

unread,
Oct 25, 2010, 11:06:42 AM10/25/10
to
JoJo,
Do you know how to add this WS-SECURITY into gsoap package? It seems
diffcult to use FLOSS 0.9.

Or where is the new version gsoap which contains WSSE?

Keith Dick

unread,
Oct 25, 2010, 12:51:46 PM10/25/10
to

I know nothing about gsoap and almost nothing about porting to OSS, so perhaps I should not even try to help, but let me tell you what I found in a quick search.

The gsoap 2.8 is available on sourceforge:

http://sourceforge.net/projects/gsoap2/

This users guide:

http://www.cs.fsu.edu/~engelen/soapdoc2.html

seems to say that the WS-Security feature is implemented as a plug-in (see section 19.36 and 19.36.7).

Perhaps you would be able to use the WS-Security plug-in from gsoap 2.8 with the gsoap 2.5 that has been ported to OSS without much porting of the WS-Security plug-in code. No guarantees, of course -- just an idea that popped into my head when I looked at the users guide. It might be that the plug-in interface isn't even in 2.5 or is drastically different between 2.5 and 2.8. But it might be worth trying.

If that doesn't work, it might not be terribly hard to port gsoap 2.8. The open source library for OSS usually contains the source. You could use diff to compare the converted source to the original gsoap 2.5 source (which is still available on sourceforge). That should be a good guide to what needs to be changed in the 2.8 source for the port, though, of course, there could be additional things that need to be changed. Still, it might make the porting of 2.8 fairly easy, depending on how much 2.8 differs from 2.5.

Joachim Schmitz

unread,
Oct 25, 2010, 1:31:41 PM10/25/10
to

This is exactly how I'd go about, grab the original gsoap-2.5 and compare
with the floss version (using diff), then getting the new 2.8 version and
check which of the differences apply here to and which are additonal ones.

If I find the time, I'll have a go at it, no promises though...

Bye, Jojo

Young

unread,
Oct 26, 2010, 1:39:45 AM10/26/10
to

thanks yours advice, I will try with your solution.

Joachim Schmitz

unread,
Oct 26, 2010, 2:21:14 AM10/26/10
to

A first and cursory look reveals:
a) on ITUGLIB we actually have gsoap-2.5.2, not gsoap-2.5 (I've corrected
this now)
b) the diff between the Nonstop port of gsoap-2.5.2 and the original is now
on ITUGLIB, the largest part (some 85%) is an updated set of configure
scripts, so the changes are not big, actually pretty minimal: they are
basically about replacing read() with floss_read() and setting the long long
printf() specifier to %Ld rather then %lld.
c) gsoap-2.8.0 is about 4 times bigger.

Bye, Jojo


Joachim Schmitz

unread,
Oct 26, 2010, 4:25:02 AM10/26/10
to

Update: the changes needed to make gsoap-2.8.0 compile are minimal.

Only ...config.sub needed to be tought about nse-tandem (it knew about
nsr-tandem), and ...gsoap/stdsoap2.h needed to undef malloc, include
stdlib.h and floss.h and define a soap_inst32_t (as signed int)

I'm have bit of a hard time to believe that the porting is really that
easy?!

Whether it works needs to be tested. Testers may contact me directly via
email.

bye, Jojo


Joachim Schmitz

unread,
Oct 26, 2010, 6:55:51 AM10/26/10
to

Available on ITUGLIB now. Feedback welcome...

Bye, Jojo


Young

unread,
Oct 27, 2010, 1:39:25 AM10/27/10
to

Don't know how to express our thankness!!!

We will try and let you know.

Young

unread,
Oct 27, 2010, 10:17:06 AM10/27/10
to
get stuck in YACC overflow during WSDL compile, here is the error
message.


Making all in wsdl
make[5]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap/wsdl'
../../gsoap/src/soapcpp2 -SC -pwsdl -I. -I../../gsoap/import -I/home/
yliu/FLOSS/usr/local/include ./wsdl.h
soapcpp2: using both options -C and -S omits client/server code

** The gSOAP code generator for C and C++, soapcpp2 release 2.8.0
** Copyright (C) 2000-2010, Robert van Engelen, Genivia Inc.
** All Rights Reserved. This product is provided "as is", without any
warranty.
** The soapcpp2 tool is released under one of the following two
licenses:
** GPL or the commercial license by Genivia Inc.

wsp.h(157): yacc stack overflow
wsp.h(156): Syntax error: skipping the remaining part of the input

There were errors:
1 syntax error

make[5]: *** [wsdlC.cpp] Error 255
make[5]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/
gsoap/wsdl'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/
gsoap'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/
gsoap'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8'
make: *** [gsoap] Error 2

Keith Dick

unread,
Oct 27, 2010, 12:41:13 PM10/27/10
to

Please understand that I know nothing about gSOAP or web services, so I have no relevant experience about this. I can offer a few ideas for things you can check, based only on general principles.

First, I notice there is a warning that using both -C and -S omits client/server code. I am not sure what that means. The documentation says the -C generates client code and -S generates server code. From that, I would think that combining -C and -S would generate both, but maybe it is something a little weird, such as -C suppresses server code and -S suppresses client code, so when you specify both, it suppresses all code. Even if that is true, I have no idea whether this could cause the yacc error, but it seems like something that you ought to check.

Second, from the documentation, the -d option (found in your -pwsdl option) expects a path name into which it will place the source files. The command does not seem to supply the -d with that path name. Or perhaps it is taking either "l" or "-I." as that path name. Again, I have no idea whether that actually is wrong and if so, whether it could cause the yacc error.

Finally, it might be a useful test to install an unmodified gSOAP on a Windows or Linux system, then try to use it on your WSDL, just to see whether it works before it has been converted to compile in OSS. Since I know nothing about gSOAP or web services, I do not know whether that is a reasonable suggestion. If that does not make any sense, ignore it. If it does make sense, and if it works on the Windows or Linux system, then perhaps you could somehow compare the working program to the one on OSS that does not work to help identify where the processing starts to differ.

Young

unread,
Oct 27, 2010, 1:33:36 PM10/27/10
to
thanks Dick advice.

There is also another warning during compile, thought the compile in
gsoap/src is successful. It tells "conflicts:1 shift/reduce". I am
not sure if it is the real reason.

________________________________________________________________________________________________________________
Making all in src


make[5]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/

gsoap-2.8/gsoap/src'
/bin/sh ../../ylwrap soapcpp2_yacc.y y.tab.c soapcpp2_yacc.c y.tab.h
soapcpp2_yacc.h y.output soapcpp2_yacc.output -- yacc -d -v

conflicts: 1 shift/reduce
updating soapcpp2_yacc.h
updating soapcpp2_yacc.output
________________________________________________________________________________________________________________

Joachim Schmitz

unread,
Oct 27, 2010, 2:35:16 PM10/27/10
to
Young wrote:
> get stuck in YACC overflow during WSDL compile, here is the error
> message.
>
>
> Making all in wsdl
> make[5]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
> gsoap-2.8/gsoap/wsdl'
> ../../gsoap/src/soapcpp2 -SC -pwsdl -I. -I../../gsoap/import -I/home/
> yliu/FLOSS/usr/local/include ./wsdl.h
> soapcpp2: using both options -C and -S omits client/server code
>
> ** The gSOAP code generator for C and C++, soapcpp2 release 2.8.0
> ** Copyright (C) 2000-2010, Robert van Engelen, Genivia Inc.
> ** All Rights Reserved. This product is provided "as is", without any
> warranty.
> ** The soapcpp2 tool is released under one of the following two
> licenses:
> ** GPL or the commercial license by Genivia Inc.
>
> wsp.h(157): yacc stack overflow
> wsp.h(156): Syntax error: skipping the remaining part of the input


Maybe you need bison (from ITUGLIB) rather than yacc (from standard OSS)?

Bye, Jojo

red floyd

unread,
Oct 27, 2010, 6:42:42 PM10/27/10
to
On Oct 27, 11:35 am, "Joachim Schmitz" <nospam.j...@schmitz-
digital.de> wrote:
> Young wrote:
> > [yacc errors redacted]

>
> Maybe you need bison (from ITUGLIB) rather than yacc (from standard OSS)?
>

That makes sense. gsoap is GNU, and most GNU stuff would rely on
bison rather than yacc.


Keith Dick

unread,
Oct 27, 2010, 8:17:46 PM10/27/10
to

I just looked at the configure script for gsoap, and, according to what is said in some comments there, it looks first for bison, then for byacc, then for yacc. So perhaps installing bison would help, assuming bison has a larger limit for whatever was being done when the overflow happened.

I did a web search for gsoap and "yacc stack overflow" and found two pages that claim there are limits on the number of items in a structure and the number of items in a query's IN clause. The guy with overflow because of items in a structure had only 126 items in his structure, so perhaps he was wrong about the cause. The guy with the overflow due to his IN clause said the limit seems to be 496 items.

So a quick test that could be done is look for things in the WSDL that exceed those limits and temporarily make the number of components smaller to see whether that makes the error go away. I do not know enough to know how difficult it would be to reduce the number of components that way. It might be too hard to make that a practical test, so ignore that idea if it isn't practical.

Young

unread,
Nov 4, 2010, 3:28:54 AM11/4/10
to
Thanks all your advices, Finally I succeeded the GSOAP installation
last Friday, after the installation of the BISON.

JOJO,
Can this src package be used in TNS/R? I haven't had chance to do
that since access issue, but will do it later. But if you have the
answer, it will be great.

Joachim Schmitz

unread,
Nov 4, 2010, 8:22:18 AM11/4/10
to

of course can the src package be used in TNS/R, whether you get it compiled
though is a different question ;-)

I don't believe though that there are any major roadblocks, it required only
minimal changes to get compiled on TNS/E and at least one of them would not
have been needed on TNS/R.

Bye, Jojo


Young

unread,
Nov 21, 2010, 12:13:07 PM11/21/10
to
I tried to install GSOAP 2.8 in TNS/R, It seems the story is different
with TNS/E.

I have installed bison and flex , and give BISON_PKGDATADIR since
bison is not installed as it required to be. But still get this error
as following:
make[3]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap'
Making all in .
make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap'
make[4]: Nothing to be done for `all-am'.


make[4]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/
gsoap'

Making all in src
make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/


gsoap-2.8/gsoap/src'
/bin/sh ../../ylwrap soapcpp2_yacc.y y.tab.c soapcpp2_yacc.c y.tab.h

soapcpp2_yacc.h y.output soapcpp2_yacc.output -- bison -y -d -v
conflicts: 1 shift/reduce

struglling....
Need I recompile BISON instead of using the TNS/R version provided in
ITUG?

Joachim Schmitz

unread,
Nov 21, 2010, 1:09:45 PM11/21/10
to
Young wrote:
> I tried to install GSOAP 2.8 in TNS/R, It seems the story is different
> with TNS/E.
>
> I have installed bison and flex , and give BISON_PKGDATADIR since
> bison is not installed as it required to be. But still get this error
> as following:
> make[3]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
> gsoap-2.8/gsoap'
> Making all in .
> make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
> gsoap-2.8/gsoap'
> make[4]: Nothing to be done for `all-am'.
> make[4]: Leaving directory
> `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/ gsoap'
> Making all in src
> make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
> gsoap-2.8/gsoap/src'
> /bin/sh ../../ylwrap soapcpp2_yacc.y y.tab.c soapcpp2_yacc.c y.tab.h
> soapcpp2_yacc.h y.output soapcpp2_yacc.output -- bison -y -d -v
> conflicts: 1 shift/reduce

Does the make abort at this spot? I've seem similar messages (with other
packages, e.g. bash), but the compile continued just fine after that.

> struglling....
> Need I recompile BISON instead of using the TNS/R version provided in
> ITUG?

I don't think so.

Bye, Jojo

Young

unread,
Nov 21, 2010, 11:57:08 PM11/21/10
to
yes, make stopped in that place.

u/FLOSS/usr/local/share/bison
p3d/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8: make all
make all-recursive
make[1]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8'
Making all in gsoap
make[2]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap'
make all-recursive


make[3]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap'
Making all in .
make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/
gsoap'
Making all in src
make[4]: Entering directory `/home/yliu/FLOSS/usr/local/Floss/
gsoap-2.8/gsoap/src'
/bin/sh ../../ylwrap soapcpp2_yacc.y y.tab.c soapcpp2_yacc.c y.tab.h
soapcpp2_yacc.h y.output soapcpp2_yacc.output -- bison -y -d -v
conflicts: 1 shift/reduce

make[4]: *** [soapcpp2_yacc.c] Error 1


make[4]: Leaving directory `/home/yliu/FLOSS/usr/local/Floss/gsoap-2.8/

gsoap/src'-2.8'

Joachim Schmitz

unread,
Nov 22, 2010, 11:01:13 AM11/22/10
to

Sorry no idea. in bash the sale messages shows up but compilation continues,
so there the error apparently gets ignored?

bye, Jojo


Young

unread,
Nov 22, 2010, 10:24:32 PM11/22/10
to
it is done.

I have recompiled BISON, Thought it failed in testsuite, But continue
to "make install".

Then go back to GSOAP 2.8 make in TNS/R, Magically, It works.

make will still throw out shift warning, but it can continue. I have
tried the wsdl2h and soapcpp2, both of them works!

Thanks JoJo.

red floyd

unread,
Nov 23, 2010, 11:59:03 AM11/23/10
to
On Nov 22, 7:24 pm, Young <yongyong...@hotmail.com> wrote:

> make will still throw out shift warning, but it can continue.  I have
> tried the wsdl2h and soapcpp2, both of them works!

Just so you'll know, that's bison kicking out that warning, not make.

Joachim Schmitz

unread,
Nov 23, 2010, 12:17:30 PM11/23/10
to

Now it seems to be just a warning, before it seems to have been an error
(i.e. now bsion return 0 before !0, which make interpreted as en error and
stopped processing any further).
I still wonder why though.

bye, Jojo

0 new messages