473,835 Members | 1,633 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Native C++ Client To Call Managed C++ Web Service

We've currently got a C++ client/server app that uses DCOM in order to make
remote calls. We want to replace DCOM with a .NET Web Service. The server
piece seems clear to me. I can write it using MC++ and then can call my
native C++ server code from within the Web Service. What I am unsure about
is the client piece.

The GUI is written in C++. Will I be able to call the Web Service from
native C++ code? At first, I thought I would have a managed class (in a
DLL) that would proxy all the calls to the web service. Now I'm not sure if
I would be able to call the managed class' methods, or even load a managed
DLL, from an unmanaged application. I also think there is a SOAP toolkit
that I can use in my native code to make calls to the web service, but not
sure if that would be a good approach.

Basically, I'm just looking for some advice on what would be the best way to
code the client piece of this web service (i.e. basically how to call
managed code from unmanaged code). Any suggestions would be greatly
appreciated.

Thanks,

Tim Rogers
Nov 16 '05 #1
1 5501
In article <vk************ @corp.supernews .com>, Tim Rogers says...

We've currently got a C++ client/server app that uses DCOM in order to make
remote calls. We want to replace DCOM with a .NET Web Service. The server
piece seems clear to me. I can write it using MC++ and then can call my
native C++ server code from within the Web Service. What I am unsure about
is the client piece.
Apart from asking 'why' you need/want to do this in the first place, i.e. don't
mess with working code, you have what is, to me, another good alternative. ATL
Server means you can code in the unmanaged C++ you know, and produce a
fast/robust web service on the server side.

The GUI is written in C++. Will I be able to call the Web Service from
native C++ code? At first, I thought I would have a managed class (in a
DLL) that would proxy all the calls to the web service. Now I'm not sure if
I would be able to call the managed class' methods, or even load a managed
DLL, from an unmanaged application. I also think there is a SOAP toolkit
that I can use in my native code to make calls to the web service, but not
sure if that would be a good approach.


Similarly, unless you have a compelling reason at this time to put the .Net
runtime on all of you client machines and run it that way, then using the SOAP
toolkit or the like would be a good way to go.

Good Luck
sdg

Nov 16 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
9883
by: Tim Menninger | last post by:
Just started working on this and have not found any real good resources out there. We have a lot of native C++ Dll code that we use for our app. We want to share the code so that C# ASP.net code can use the same business logic as our C++ client. Here are some questions: 1) Is there a way to call into native C++ classes directly? Meaning we do not have C API. I believe we could use a C API using the in C#. 2) If can't do #1, do we need...
5
2406
by: Julie | last post by:
I'm currently working in a mixed mode project where the exe is C#, there is a managed C++ (DLL) assembly, that in part, includes some calls into a native (unmamanged) DLL. I can build/link/run just fine, the question isn't about that. What I'm after is, if I have another client that uses the C++ managed assembly, I want the unmanaged DLL somehow to tag along. I've looked at /link in AL.exe, and /assemblymodule, but either I'm not...
3
1863
by: -DG- | last post by:
I'm still trying to figure out some of the nuances of access to legacy Win32 DLLs. I need to alloc buffers to be used by the Win32 DLLs. I know that pinning a managed pointer can lead to framentation, but I don't see an alternative. Is there an easy way to generate a call to native malloc()? Doesn't this also fragment memory? (I'll be using C++/CLI, if that matters)
3
3675
by: Lonewolf | last post by:
Hi all, I'm having difficulties passing data back to managed class from my native class when the data is generated from within a native thread in the native class itself. I will give the following runtime error, " Attempting to call into managed code without transitioning out first. Do not attempt to run managed code inside low-level native extensibility points, such as the vectored exception handler, since doing so can cause corruption...
2
1826
by: Haroon_Saeed | last post by:
Hey, I wrote a managed c++ class library in viusal studio 2005. This managed c++ dll calls native C++ methods of an SDK. When I referenced this managed c++ library in a console applciation written in C# for testing every thing worked fine. Now I need to call the managed c++ class library through web service written in C#. When I call managed c++ methods from web service the code crashes on the line from where the native code starts(...
14
7542
by: Ben Voigt | last post by:
Under certain circumstances I get: First-chance exception at 0x7c812a5b (kernel32.dll) in LTMGUI.exe: 0xC0020001: The string binding is invalid. First-chance exception at 0x7c812a5b (kernel32.dll) in LTMGUI.exe: Microsoft C++ exception: at memory location 0x00000000.. Unhandled exception at 0x7c812a5b (kernel32.dll) in LTMGUI.exe: 0xC0020001: The string binding is invalid. Googling this exception brought me to a blog posting by Chris...
3
5994
by: =?Utf-8?B?RGFuaWVs?= | last post by:
Hi, I have a winform client which consumes a WCF service. I have a single service client(proxy) at the winform side, but spread the service calls into multiple threads so that they can do works concurrently. My confusion is, as all threads share the same proxy, will one thread block another while calling a long running service? Is this related to the service concurrent configuration? Thanks.
3
4433
by: Lance Wynn | last post by:
Hello, I am receiving this error when trying to instantiate a webservice component. I have 2 development machines, both are XP sp2 with VS 2008 installed. On one machine, the code works fine. On the other machine I get the error upon instantiating the service client. I add the reference by choosing Add Service Reference from the project menu, and pointing to the remote wsdl file. I can't seem to find what the difference between the two...
5
3078
by: =?Utf-8?B?TWFyaw==?= | last post by:
Hi... I've got a .Net client to a soap service that works for the most part, but there are a couple of things I'd like to improve: 1) the first request to the client wrapper always takes 12-15 seconds even though the web server shows < a half second spent on the request. What takes so much time for the client wrapper to warm up? All subsequent requests, even to the same method, take the half second.
0
9652
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10226
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9343
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7765
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5631
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5802
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4430
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3990
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3086
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.