Hi,
The SoapActor attribute specifies a logical name for the endpoint address.
Each service has two addressses, a logical address (it specified by the
attribute wsa:To) and a physical one (the transport address), usually they
are the same. (If you do not specify the attribute SoapActor, the logical
address is the same as the physical address).
In this case, the service is expecting a SOAP message with a header wsa:To =
"http://localhost/PerimeterServiceRouter/Router/ExternalService.asmx"
You can consume the service directly without using the router, but you need
to specify that logical address in the client application. (The client must
have access to the service as well).
This article describes very well how to do that in WSE,
http://www.dynamic-cast.com/mt-archives/000050.html Regards,
Pablo Cibraro
http://weblogs.asp.net/cibrax [quoted text, click to view] "RYoung" <no@mail.com> wrote in message
news:%2309Q6U42GHA.4388@TK2MSFTNGP03.phx.gbl...
> From the WS Security PnP for WSE 3
>
> " Because external applications use the external URI for the service on
> the perimeter service router to address request messages, you must
> configure a WSE-3.0 enabled service to accept messages that are addressed
> to the perimeter service router."
>
> and
>
> using Microsoft.Web.Services3.Messaging;
> ...
> [SoapActor(http://localhost/PerimeterServiceRouter/Router/ExternalService.asmx)]
>
> Does this mean that all requests for the service must pass through the
> router? That is, say an internal Windows Application wants to consume the
> web service directly using Visual Studio -> Add Web Reference and binds to
> http://localhost/perimeterservicerouter/service/internalservice.asmx
>
> Would that still be possible?
>
> Ron
>