ncacn_http

ncacn_http:rpc_server[endpoint, HttpProxy=proxy_server:server_port,
RpcProxy=iis_rpc_proxy:proxy_port]

rpc_server
The Internet address or name of the machine that the RPC server process is running on.
endpoint
The well-known (static) TCP/IP port that the RPC server process is listening on.
proxy_server
The name of the outgoing HTTP proxy server, if there is one. If you specify a proxy server but do not specify a port number (server_port), port 80 is assumed.
iis_rpc_proxy
The IIS machine used as proxy to the rpc_server . If no IIS machine is specified, iis_rpc_proxy is assumed to be the same machine as the RPC server. If you do not specify a port number (proxy_port), port 80 is assumed.

Examples

//RPC client accesses an RPC server application, which is listening on //endpoint 2225 of an IIS Web Server named major7.somewhere.com 
[   uuid(. . .), 
    version(1.0), 
    endpoint("ncacn_http:major7.somewhere.com[2225]") 
] interface IFace1 
{. . .}

//string binding format. 
//IIS Web server (websvr1)is on a different machine than the RPC
//server, and endpoints are dynamic
"obj_uuid@ncacn_http:major7.somewhere.com
   [,RpcProxy=websvr1.somewhere.com]"

//tells the transport to use proxysvr, port 80, as the outgoing http 
//server:
"obj_uuid@ncacn_http:major7.somewhere.com[,HttpProxy=proxysvr:80,
  RpcProxy=websvr1.somewhere.com:80]"

Remarks

The ncacn_http keyword identifies the Microsoft Internet Information Server (IIS) as the protocol family for the endpoint. This protocol allows client and server applications to communicate across the internet by using the Microsoft Internet Information Server (IIS) as a proxy. Because calls are tunneled through an established HTTP port, they can cross firewalls.

Any RPC client and server applications can support the ncacn_http protocol as long as they are networked to an Internet Information Server. The IIS contacts the RPC server and establishes a TCP/IP socket, which it maintains for the client. The IIS negotiates a TCP/IP connection with the RPC server, and once the negotiation is complete, acts as an RPC proxy, forwarding data between the client-side TCP/IP socket and the server-side TCP/IP socket. When the IIS RPC proxy detects a session close on either the client or the server side, it closes the remaining socket.

The client application implicitly uses static binding to the IIS, but the server can use dynamic endpoints, with the server's RPCSS (endpoint mapper) resolving the RPC server port. If the IIS is on a different machine than the RPC server, the IIS receives the remote call, contacts RPCSS on the RPC server machine to get the server process endpoint, and then forwards the call to the appropriate RPC server.

If Internet Explorer is installed , and no outgoing HTTP proxy server is specified, the transport will check the registry to see if there is a configuration for an HTTP proxy. If a proxy exists, the transport will use it.

See Also

endpoint, IDL, string binding