Nous avons développé une application C++ simple en utilisant gSoap. Lorsque nous utilisons Makefile classique, tout est OK et le système fonctionne correctement. Mais lorsque l'on utilise GNU autotools comme système de construction, nous rencontrons une erreur de validation étrange violation de contrainte lorsque nous appelons le service:Comportement différent lorsque automake est utilisé pour construire une application gSoap
(SOAP 1.1 fault: SOAP-ENV:Client [no subcode]
"Validation constraint violation: invalid value in element 'risk'"
Detail: [no detail]
Nous avons vérifié tous les Compilez et comme des drapeaux et les deux ont le même aspect.
Makefile.am
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
AUTOMAKE_OPTIONS = subdir-objects
AM_CPPFLAGS = --pedantic -Wall -Wno-vla -Wno-unknown-pragmas -Wno-format
bin_PROGRAMS= Client Server
Client_SOURCES=card_soap_client.cpp envC.cpp stdsoap2.cpp cardProxy.cpp cardC.cpp
Client_CPPFLAGS= $(AM_CPPFLAGS) -DWITH_NONAMESPACES
Server_SOURCES=card_soap_server.cpp envC.cpp stdsoap2.cpp cardService.cpp cardC.cpp
Server_CPPFLAGS= $(AM_CPPFLAGS) -DWITH_NONAMESPACES
Makefile
CF=-c -Wall --pedantic -Wno-vla -Wno-unknown-pragmas -Wno-format -g -O2 -fPIC -DPIC -DWITH_NONAMESPACES
LF = -g -O2
all: card_soap_client.o card_soap_server.o cardProxy.o cardService.o cardC.o envC.o stdsoap2.o
g++ card_soap_client.o cardProxy.o cardC.o envC.o stdsoap2.o $(LF) -o Client
g++ card_soap_server.o cardService.o cardC.o envC.o stdsoap2.o $(LF) -o Server
cardC.o:cardC.cpp
g++ $(CF) cardC.cpp
cardService.o:cardService.cpp
g++ $(CF) cardService.cpp
cardProxy.o:cardProxy.cpp
g++ $(CF) cardProxy.cpp
envC.o: envC.cpp
g++ $(CF) envC.cpp
stdsoap2.o: stdsoap2.cpp
g++ $(CF) stdsoap2.cpp
card_soap_client.o:card_soap_client.cpp
g++ $(CF) card_soap_client.cpp
card_soap_server.o:card_soap_server.cpp
g++ $(CF) card_soap_server.cpp
Nous avons généré le service à l'aide 2.8.9 et 2.8.23 et compilé avec g ++ - 4.7. Le service est généré avec la commande suivante:
soapcpp2 -i -n -qcard -I/usr/share/gsoap/import/ interface_v1.3.1.hpp
MISE À JOUR: La source complète est disponible here
L'avez-vous essayé sur un autre ordinateur? – ZivS
Comment les messages XML envoyés par le (s) client (s) ressemblent-ils? Sont-ils identiques? –
@ZivS Mêmes résultats ici. Je peux reproduire la même erreur en utilisant autotools sur ma machine (Debian 8.1) –