I'm having way too much fun with WSE...

WSE + the ASP.NET Forums == WS-Forums.
Don't believe me? Let's take a look at what's getting passed across the wire...
<?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <wsrp:path soap:actor="http://schemas.xmlsoap.org/soap/actor/next" soap:mustUnderstand="1" xmlns:wsrp="http://schemas.xmlsoap.org/rp"> <wsrp:action>http://webservices.asp.net/forums/GetAllForums</wsrp:action> <wsrp:to>http://localhost:8080/ws-forums/ForumService.asmx</wsrp:to> <wsrp:id>uuid:aafbe654-eee0-4d02-aff8-3be41f24f374</wsrp:id> </wsrp:path> <wsu:Timestamp xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"> <wsu:Created>2003-03-27T05:44:15Z</wsu:Created> <wsu:Expires>2003-03-27T05:49:15Z</wsu:Expires> </wsu:Timestamp> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"> <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" wsu:Id="SecurityToken-90b2820e-5fd6-4e10-b20c-c736e1ea6639"> <wsse:Username>Admin</wsse:Username> <wsse:Password Type="wsse:PasswordDigest">99F7CPxvYZwCeamQDvY6PVu7QQc=</wsse:Password> <wsse:Nonce>8zgNIp8bHtbpXB+zNWYRzg==</wsse:Nonce> <wsu:Created>2003-03-27T05:44:15Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soap:Header> <soap:Body> <GetAllForums xmlns="http://webservices.asp.net/forums"> <showAllForums>true</showAllForums> <username>Admin</username> </GetAllForums> </soap:Body> </soap:Envelope>
The endpoint's response:
<?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <wsu:Timestamp xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"> <wsu:Created>2003-03-27T05:44:16Z</wsu:Created> <wsu:Expires>2003-03-27T05:49:16Z</wsu:Expires> </wsu:Timestamp> </soap:Header> <soap:Body> <GetAllForumsResponse xmlns="http://webservices.asp.net/forums"> <GetAllForumsResult> <Forum> <IsPrivate>false</IsPrivate> <ForumID>2</ForumID> <ParentId>0</ParentId> <DisplayMask>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA==</DisplayMask> <ForumGroupId>1</ForumGroupId> <SortOrder>20</SortOrder> <LastUserActivity>2003-03-26T23:38:39.1130000-06:00</LastUserActivity> <TotalPosts>0</TotalPosts> <MostRecentPostDate>0001-02-01T00:00:00.0000000-06:00</MostRecentPostDate> <MostRecentPostId>0</MostRecentPostId> <MostRecentThreadId>0</MostRecentThreadId> <MostRecentPostAuthor /> <TotalThreads>0</TotalThreads> <DaysToView>0</DaysToView> <Name>Sample Moderated Forum</Name> <Description>A sample moderated forum created when the AspNetForums were installed.</Description> <Moderated>true</Moderated> <Active>true</Active> <DateCreated>2003-02-25T19:21:12.6570000-06:00</DateCreated> </Forum> <Forum> ... </Forum> </GetAllForumsResult> </GetAllForumsResponse> </soap:Body> </soap:Envelope>
A nice, little demonstration of WS-Security (via WSE).
Now, to extend this even further; message-level signing and encryption, establishing a secure context, forming a trust model, support for alternative bindings, etc. 
12:00:44 AM
|