all groups > dotnet web services enhancements > september 2006 >
You're in the

dotnet web services enhancements

group:

WS Security patterns, PerimiterServiceRouter & SoapActor



WS Security patterns, PerimiterServiceRouter & SoapActor RYoung
9/18/2006 7:47:58 PM
dotnet web services enhancements: 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

Re: WS Security patterns, PerimiterServiceRouter & SoapActor Pablo Cibraro [MVP]
9/19/2006 10:02:07 AM
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]

AddThis Social Bookmark Button