After loads of searching, it turns out that Microsoft officially removed SOAP support from Visual Studio 2008 C++. The code can be added from
[CodePlex]. Basically, a portion of the code became open source and was removed from Visual Studio to avoid potential legal issues in the future. This functionality is referred to as the
[AtlServer].
[VS Team Studio blog] has a post about the separation being a good thing. But really, not having the web reference integrated, this sucks.
Even using VS 2005, proxy generation isn't great. Instead of creating the proper structs, I get a bunch of BSTR and wchar_t strings.
-
-
I would be more inclined to use a Windows Communication Framework SOAP endpoint. Hopefully, WCF works in C++ and can talk to C# web services, and can serialize properly.
http://channel9.msdn.com/posts/rojacobs/endpointtv-The-Total-Noobs-Guide-to-WCF-Lesson-1-My-First-WCF-Service/
"Oopps any managed process can host an endpoint". I was looking to interact from an unmanaged process, but we'll see... -
gSoap looks like a better option.tgraupmann648 said:I would be more inclined to use a Windows Communication Framework SOAP endpoint. Hopefully, WCF works in C++ and can talk to C# web services, and can serialize properly.
http://channel9.msdn.com/posts/rojacobs/endpointtv-The-Total-Noobs-Guide-to-WCF-Lesson-1-My-First-WCF-Service/
"Oopps any managed process can host an endpoint". I was looking to interact from an unmanaged process, but we'll see...
-
gSoap worked in both VS 2005 and VS 2008 C++. It's better IMO since it also generates the proxy structures.tgraupmann648 said:
-
Cool, a day after I read this thread of yours, I suddenly find myself needing to access SOAP services in unmanaged C++. Thanks for the gSoap tip!tgraupmann648 said:
gSoap worked in both VS 2005 and VS 2008 C++. It's better IMO since it also generates the proxy structures.tgraupmann648 said:*snip* -
I'm including the proper SOAP support from AtlServer, and use a custom pre-build by running sproxy <web service URL>, say
.\sproxy\sproxy.exe /wsdl /out:TheWebService.h http://www.acme.com/WS/TheWebService.asmx?wsdl
(assuming is an asmx).
This will create the TheWebService.h file, then include in your wrapper class and that's it.
(sproxy comes in source code also in AtlServer\source\SProxy).
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.