Hi there!

Here's my situation:

Our extranet and intranet servers are separated by a firewall. We do not allow traffic from the internet to hit intranet servers. For applications that need it, we allow traffic between an extranet server and an intranet server over a configured port.

Example:

We have an extranet application called "MyWork" that can be accessed from the internet. When a user uses it, it retrieves data from a service that lives on an intranet server.

The Problem:

We are deploying a mobile version of the application. The application needs to talk to that service on the intranet to get the data it needs, but that violates our policies. Therefore, I need to create an extranet service that the mobile app can use to get the data it needs. That extranet service needs to talk to the intranet service. So basically it's a proxy service.

What I'm looking for is a quick and simple way to "duplicate" a web service. Ideally I could point a tool of some sort to my existing web service, and it would create a duplicate web service that I can put on my extranet server. Then, I could point my mobile app to the extranet service, which would just pass the request to the intranet service, and in turn return the intranet service response back to the mobile client.

Thoughts?

Thanks in advance!

I think you want to invoke a WebService Method of one WebService from another.

No, I want to proxy a service.

I was able to get something working. I don't know if it's the right thing to do, but it seems to work perfectly fine:

1.) New Web Service Project
2.) Add Reference to the "Real" Web Service
3.) Go to code behind the class for the "Real" Web Service and add "[WebMethod]" to the top of each method you want to expose in the proxy service.
4.) Change the class of the proxy service to be class of the Real Web Service
5.) Done.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.