in

ASP.NET Weblogs

Christian Weyer: Smells like service spirit

What's first?

July 2003 - Posts

  • To prefix or not to prefix - this is *not* the question

    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 ...

  • Two Web Services heros in a good mood

    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.

  • Loosely Coupled Web Services show

    MSDN TV's new episode:

  • Switching and rolling

    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.

    Posted Jul 22 2003, 03:05 PM by CWeyer
    Filed under:
  • Labs: just wondering ...

    MSDN Labs

    ???

    Maybe this is related ...

  • Clemens' new home

    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.

  • Now official: WSE 2.0 TP

    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 ...

  • TME rocks and rolls in Japan

    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!

  • Quake II .NET

    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.

    Posted Jul 11 2003, 09:34 AM by CWeyer with 3 comment(s)
    Filed under:
  • Hosting .NET Web Services "everywhere"

    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 »