July 2003 - Posts
UPDATE: Scott now has the 'bits' up on his blog.
I hope a lot, if not all, readers of my blog understand the sense and concept
of the XML
InfoSet. And additionally what XML Namespaces are, what they are for - and what not!?
Scott, Clemens and
myself had an email conversation yesterday about a very stange but also very
interesting 'problem':
They want:
<soap:body>
<samlp:Response
xmlns:samlp="thewholedurnthing">
<samlp:somestuff>
I'm producing via an ASMX :
<soap:body>
<Response xmlns ="thewholedurnthing"
xmlns:samlp="thewholedurnthing">
<samlp:somestuff>
Scott has a customer who insists on having a certain XML Namespace prefix be
present in the first element of the SOAP Body's response. Well, this is of
course a silly and unnecessary wish ... but it is the customer :-)
So we tried and spinned our heads around and came to the conclusion that it
is currently (version 1.x of ASMX) not possible to achieve this goal with
ASP.NET Xml Web Services by simply adding and playing with the usual supsects. Furthermore, I got a confirmation of a MS employee
who was responsible for a lot of things in the ASMX/XmlSerializer
architecture:
Yes we get this question quite a bit. The answer is it just wasn't a
high priority for us, given that the "namespaces in xml" spec is quite
explicit that the prefix doesn't matter. maybe you could try to convince your
customer it doesn't matter? it's important that we get the word out about
that... ;)
Enough said.
Lessons learned: If you really have to have this 'feature',
use a custom SoapExtension to modify the SOAP streams. Perhaps Scott
will show up with such a version soon ...
I am sure you already have seen Doug's MSDN TV Show about designing loosely coupled Web Services.
But now hold on! Yasser is here and fights back Doug (the topic is about using the WS-I Test Tools) ... really a must-see-one! :-) Cool, guys.
1.0, 1.1, 1.? ... If you are like me and have several .NET Framework and
ASP.NET versions running (at least) on your dev machine, then this tool can save
your life!
Yes, I know I am quite late with my praise - but I must tell you that you
definitely should take a look at Denis Bauer's ASP.NET Version Switcher. Cool.
Visit Denis' homepage
with lots of good other stuff and subscribe to his RSS feed.

???
Maybe this
is related ...
Clemens Vasters
just moved. No, not physically, but virtually moved his weblog here.
Just wondering when all the other newtelligence gals will wake up? At least Joerg was around
for some time now.
UPDATE: Matt Powell has a new technical article on WSE
2.0 (MSDN): Programming with Web Services Enhancements 2.0
Keith is back and
has a very good reason for having been absent from blogging:
Web Services Enhancements (WSE) 2.0 Technology Preview
WSE 2.0 Technology Preview builds on the security, routing, and
attachments capabilities with new features including a policy framework,
enhanced security model, message-based programming model, and support for
multiple hosting environments.
WSE 2.0 simplifies coding by enabling
developers and administrators to apply security policies on Web services
running on the Microsoft .NET Framework. Web services communication can be
signed and encrypted using Kerberos tickets, X.509 certificates,
username/password credentials, and other custom binary and XML based security
tokens. WSE's enhanced security model provides a policy-driven foundation for
securing Web services across trust domains. A Trust issuing service can be
established for retrieving and validating security tokens. A secure
conversation can also be established by parties so that authentication and
authorization of calls within a session can happen more quickly than more
complex cryptographic operations.
The new message-oriented programming
model enables asynchronous communication for Web services implementations that
require support for long lived operations, batch processing, peer to peer
programs, or event driven application models. Web services that leverage WSE
can now be hosted in multiple environments including ASP.NET, standalone
executables, NT Services, etc. and can communicate over alternative transports
including HTTP or TCP.
WSE provides a foundation for building
applications based on Web services specifications published by Microsoft and
industry partners including WS-Security, WS-Policy, WS-SecurityPolicy, WS-Trust, WS-SecureConversationand WS-Addressing.
WSE 1.0 SP1 and the
technology preview can be installed side by side. Please review the product
readme for more information about WSE 2.0, including breaking changes from WSE
1.0.
Congrats so far. This thing will definitely
be a milestone. Trust me.
And Microsoft is again top of the Web Services game
...
Hitachi Selects The Mind Electric Web Services Technology
Hitachi has signed a license agreement to use the TME GLUE"! and TME
GAIA"! products as a component for development of a platform for "ubiquitous
computing".
[ ... ]
Because of their robust feature set, simplicity,
small footprint, ease of integration, and industry leading performance,
Hitachi plans to employ TME GLUE as a web services platform for embedded
systems and TME GAIA as a peer-to-peer (P2P) platform to drive the new
distributed system.
Congrats Graham!
Just received an email from Scott Stanfield (Vertigo):
Have some fun today! Check out Quake II
.NET, a version of Quake II that we ported to Managed
C++.
If you have customers with a large body of C code thinking about
jumping into .NET, this may be a way. Consider these points:
- Porting 125k lines of C to Managed C++ took about 3 days.
- The performance delta between native and managed is almost
negligible (15%)
- We added a significant enhancement (heads-up radar) in another week,
all in C++ (but it could have been VB.NET or C#)
There s a demo script that shows you how to compare the native vs.
managed performance.
This beast simply rocks! Wahoo - give it a try ... although I am not a
gamer.
I only can chime into the praise of how cool, important and trend-setting the usage and deployment of Cassini is regarding
to exposing and hosting XML Web Services on the .NET platform (of course it is
*not* a procution ready Web server, but you get the idea). I have been playing
with Cassini since the very first release (Reflector loves me and I love Lutz). I even had an
enhanced version of Cassini that runs as a Windows Service with some minor
tweaks - but that one has been eaten by a computer crash some weeks ago ...
:-(
BTW, be sure to check out the latest source
code release of Cassini. It has been updated in conjunction with the Web
Matrix refresh.
Additionally, the Mono
team announced now that they are also capable of hosting XML Web
Services through their ASP.NET engine. Wahoo! I like this game ...
Web Services keep advancing: now we also support server-side authoring
of Web Services as well as web service clients (which shipped in Mono 0.25).
This works using our ASP.NET runtime, so it works with either XSP or the
Apache module. The new Web Services work from Lluis added the missing bits:
- .asmx files
- Method calls with complex parameters (whatever XmlSerializer can
currently serialize, which is a quite a lot)
- ref and out parameters
- Soap headers (In, Out and InOut)
- Soap extensions, both global (configured in web.config) and
particular to methods (configured using attributes).
Huh, SoapExtensions? Can't believe that. Damn, I have to get some
more time soon to install RedHat ...
More Posts
Next page »