c++ visual-c++ gsoap

gSoap compilación con c++



visual-c++ (1)

Bueno, para aquellos frustrados con los documentos en el sitio de gSoap, usar VS2008 para compilar un ejemplo de cliente rápido, aquí están los pasos (los servidores son diferentes).

Genere el archivo de encabezado desde el WSDL: wsdl2h -o Init.h http://bleh.com/myservice.asmx?WSDL

Genera los archivos del cliente de jabón:

soapcpp2 -C -IC:/3pSDK/gsoap-2.7/gsoap/import Init.h

Asegúrese de agregar los siguientes archivos a su solución para la compilación:

soapC.cpp, soapClient.cpp, and stdsoap2.cpp

Asegúrese de que, para cada uno de estos archivos, seleccione la opción del compilador "No usar encabezados precompilados". (Propiedades de archivo -> C ++ -> Encabezados precompilados -> Crear / Usar encabezado precompilado).

Finalmente, agregue el archivo .nsmap generado para su proxy al stdafx.h (o en su página principal si su proyecto no está usando encabezados precompilados).

Aquí hay una muestra que hace una consulta simple:

// WebServicesClient.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "init/soapInitServiceSoapProxy.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { std::string user = "AAAA"; std::string pass = "BBBB"; InitServiceSoap service; _ns1__initPlayer query; _ns1__initPlayerResponse ans; query.psParam1 = &user; query.psParam2 = &pass; if( service.__ns2__initPlayer(&query, &ans) == SOAP_OK ) { cout << "success!" << endl; } cin.get(); return 0; }

¡Espero que esto ayude a alguien!

Estoy tratando de obtener un ejemplo simple trabajando con gSoap, para VS2008.

He hecho lo siguiente:

wsdl2h -o Init.h http://myservices/InitalisationService.asmx?WSDL

Y luego esto:

soapcpp2 -I "C:/3pSDK/gsoap-2.7/gsoap/import" -i -C -limport Init.h

que produce muchos archivos. Mi carpeta de proyectos se ve así:

// generated files Init.h InitalisationServiceSoap.initalizePlayer.req.xml InitalisationServiceSoap.initalizePlayer.res.xml InitalisationServiceSoap.nsmap InitalisationServiceSoap12.initalizePlayer.req.xml InitalisationServiceSoap12.initalizePlayer.res.xml InitalisationServiceSoap12.nsmap ortC.cpp ortH.h ortInitalisationServiceSoap12Proxy.cpp ortInitalisationServiceSoap12Proxy.h ortInitalisationServiceSoapProxy.cpp ortInitalisationServiceSoapProxy.h ortMatlab.c ortMatlab.h ortStub.h // Project Files ReadMe.txt stdafx.cpp stdafx.h WebServicesClient.cpp WebServicesClient.vcproj targetver.h // files added to the project from gSoap folder stdsoap2.cpp stdsoap2.h typemap.dat

Cuando construyo, recibo muchos errores de vinculador (externos no resueltos). No puedo encontrar nada con qué vincular (por ejemplo, no bibliotecas binarias). ¿Qué me estoy perdiendo?

Creo que esto puede tener algo que ver con lo siguiente de los documentos:

Para completar la compilación, compile y vincule el soapC.cpp, soapcalcProxy.cpp generado y el motor gSOAP en tiempo de ejecución -lgsoap ++ (o use source stdsoap2.cpp en caso de que libgsoap ++. A no esté instalado) con su código.

¿hay una biblioteca gsoap ++ para win32?

1>Compiling... 1>WebServicesClient.cpp 1>ortC.cpp 1>Generating Code... 1>Linking... 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_faultcode referenced in function _http_response 1>stdsoap2.obj : error LNK2001: unresolved external symbol _namespaces 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_getheader referenced in function _soap_recv_header 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_faultsubcode referenced in function _soap_set_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_faultstring referenced in function _soap_set_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_putfault referenced in function _soap_send_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_putheader referenced in function _soap_send_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_serializefault referenced in function _soap_send_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_serializeheader referenced in function _soap_send_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_getfault referenced in function _soap_recv_fault 1>stdsoap2.obj : error LNK2019: unresolved external symbol _soap_faultdetail referenced in function _soap_set_error 1>ortC.obj : error LNK2019: unresolved external symbol "void * __cdecl soap_class_id_enter(struct soap *,char const *,void *,int,unsigned int,char const *,char const *)" (?soap_class_id_enter@@YAPAXPAUsoap@@PBDPAXHI11@Z) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > * __cdecl soap_in_std__string(struct soap *,char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,char const *)" (?soap_in_std__string@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUsoap@@PBDPAV12@1@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_putindependent(struct soap *)" (?soap_putindependent@@YAHPAUsoap@@@Z) referenced in function "int __cdecl soap_put_std__string(struct soap *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const *,char const *,char const *)" (?soap_put_std__string@@YAHPAUsoap@@PBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD2@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_getindependent(struct soap *)" (?soap_getindependent@@YAHPAUsoap@@@Z) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > * __cdecl soap_get_std__string(struct soap *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,char const *,char const *)" (?soap_get_std__string@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUsoap@@PAV12@PBD2@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_fdelete(struct soap_clist *)" (?soap_fdelete@@YAHPAUsoap_clist@@@Z) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > * __cdecl soap_instantiate_std__string(struct soap *,int,char const *,char const *,unsigned int *)" (?soap_instantiate_std__string@@YAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUsoap@@HPBD1PAI@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "void __cdecl soap_default_int(struct soap *,int *)" (?soap_default_int@@YAXPAUsoap@@PAH@Z) referenced in function "public: virtual void __thiscall _ns1__initalizePlayerResponse::soap_default(struct soap *)" (?soap_default@_ns1__initalizePlayerResponse@@UAEXPAUsoap@@@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_out_int(struct soap *,char const *,int,int const *,char const *)" (?soap_out_int@@YAHPAUsoap@@PBDHPBH1@Z) referenced in function "int __cdecl soap_out__ns1__initalizePlayerResponse(struct soap *,char const *,int,class _ns1__initalizePlayerResponse const *,char const *)" (?soap_out__ns1__initalizePlayerResponse@@YAHPAUsoap@@PBDHPBV_ns1__initalizePlayerResponse@@1@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_ignore_element(struct soap *)" (?soap_ignore_element@@YAHPAUsoap@@@Z) referenced in function "class _ns1__initalizePlayerResponse * __cdecl soap_in__ns1__initalizePlayerResponse(struct soap *,char const *,class _ns1__initalizePlayerResponse *,char const *)" (?soap_in__ns1__initalizePlayerResponse@@YAPAV_ns1__initalizePlayerResponse@@PAUsoap@@PBDPAV1@1@Z) 1>ortC.obj : error LNK2019: unresolved external symbol "int * __cdecl soap_in_int(struct soap *,char const *,int *,char const *)" (?soap_in_int@@YAPAHPAUsoap@@PBDPAH1@Z) referenced in function "class _ns1__initalizePlayerResponse * __cdecl soap_in__ns1__initalizePlayerResponse(struct soap *,char const *,class _ns1__initalizePlayerResponse *,char const *)" (?soap_in__ns1__initalizePlayerResponse@@YAPAV_ns1__initalizePlayerResponse@@PAUsoap@@PBDPAV1@1@Z) 1>G:/Prototypes/WebServicesClient/Debug/WebServicesClient.exe : fatal error LNK1120: 19 unresolved externals 1>Build log was saved at "file://g:/Prototypes/WebServicesClient/WebServicesClient/Debug/BuildLog.htm" 1>WebServicesClient - 20 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========