Blogger :
Omri Gazitt
All posts :
All posts by Omri Gazitt
Category :
WSCF/WCF
Blogged date : 2006 Sep 21
Kirill just sent me
code for how to call the Amazon Simple Queue Service from WCF:
1. run svcutil on the SQS WSDL: http://queue.amazonaws.com/doc/2006-04-01/QueueService.wsdl
2. consume the proxy using code like the following:
MessageQueueClient queueMessageClient
= new MessageQueueClient("MessageQueueHttps",
queueAddressUri);
queueMessageClient.ClientCredentials.ClientCertificate.Certificate = clientCertificate;
SendMessage sm
= new SendMessage();
sm.MessageBody = "<Body>This
is message 1</Body>";
queueMessageClient.SendMessage(sm);
Message message
= queueMessageClient.ReceiveMessage(new ReceiveMessage()).Message[0];
Console.WriteLine("Message
Received: " +
message.MessageBody);
Very cool, IMHO. What's interesting here is that not only does the Amazon SQS
service use WS-Security for encapsulating certs in a SOAP message (and using transport
security for encryption), it also uses the WS-SecurityPolicy assertions in the WSDL,
so that SecurityPolicy-aware processors like WCF can generate the right configuration
for the client proxy to enable interop very easily. The metadata story has always
been critical to helping simplify the process of "practical" interoperability.
It's great to see Amazon adopting the tools that make this possible.