Tôi đang cố gắng để có được một ví dụ đơn giản làm việc bằng cách sử dụng gSoap, cho VS2008.biên soạn gSoap với C++
tôi đã thực hiện như sau:
wsdl2h -o Init.h http://myservices/InitalisationService.asmx?WSDL
Và rồi này:
soapcpp2 -I "C:\3pSDK\gsoap-2.7\gsoap\import" -i -C -limport Init.h
trong đó sản xuất nhiều tập tin. Thư mục dự án của tôi trông giống như sau:
// 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
Khi tôi xây dựng, tôi nhận được rất nhiều lỗi liên kết (không được giải quyết bên ngoài). Tôi không thể tìm thấy bất kỳ thứ gì để liên kết với (ví dụ: không có thư viện nhị phân) - tôi thiếu gì?
Tôi tin rằng điều này có thể có cái gì để làm với những điều sau đây từ các tài liệu:
Để hoàn thành việc xây dựng, biên soạn và liên kết soapC.cpp tạo, soapcalcProxy.cpp, và run- thời gian công cụ gSOAP -gsoap ++ (hoặc sử dụng nguồn stdsoap2.cpp trong trường hợp libgsoap ++. a là chưa được cài đặt) với mã của bạn.
có thư viện gsoap ++ cho win32 không?
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 *)" ([email protected]@[email protected]@[email protected]) 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 *)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z)
1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_putindependent(struct soap *)" ([email protected]@[email protected]@@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 *)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_getindependent(struct soap *)" ([email protected]@[email protected]@@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 *)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z)
1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_fdelete(struct soap_clist *)" ([email protected]@[email protected]@@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 *)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
1>ortC.obj : error LNK2019: unresolved external symbol "void __cdecl soap_default_int(struct soap *,int *)" ([email protected]@[email protected]@[email protected]) referenced in function "public: virtual void __thiscall _ns1__initalizePlayerResponse::soap_default(struct soap *)" ([email protected][email protected]@[email protected]@@Z)
1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_out_int(struct soap *,char const *,int,int const *,char const *)" ([email protected]@[email protected]@[email protected]) referenced in function "int __cdecl soap_out__ns1__initalizePlayerResponse(struct soap *,char const *,int,class _ns1__initalizePlayerResponse const *,char const *)" ([email protected]@[email protected]@[email protected]@[email protected])
1>ortC.obj : error LNK2019: unresolved external symbol "int __cdecl soap_ignore_element(struct soap *)" ([email protected]@[email protected]@@Z) referenced in function "class _ns1__initalizePlayerResponse * __cdecl soap_in__ns1__initalizePlayerResponse(struct soap *,char const *,class _ns1__initalizePlayerResponse *,char const *)" ([email protected]@[email protected]@[email protected]@[email protected]@Z)
1>ortC.obj : error LNK2019: unresolved external symbol "int * __cdecl soap_in_int(struct soap *,char const *,int *,char const *)" ([email protected]@[email protected]@[email protected]) referenced in function "class _ns1__initalizePlayerResponse * __cdecl soap_in__ns1__initalizePlayerResponse(struct soap *,char const *,class _ns1__initalizePlayerResponse *,char const *)" ([email protected]@[email protected]@[email protected]@[email protected]@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 ==========
Chỉ một bình luận: không gian tên nên được thêm vào stdafx.cpp (không phải .h)! – Budda
bạn có nghĩa là bao gồm tệp .nsmap trong stdafx.cpp không? Tôi đã thử nó và nó không hoạt động – Alex