Archives

Archives / 2004
  • ANN: Talking in Austin on 12/13

    I am giving a presentation on Secure Web Services and Secure Office Productivity Solutions based on IBF at ADNUG's December meeting on 12/13. 5:30pm at the Microsoft Technology Center:
     
    About the presentation:
    Web services are making their ways into the enterprise. Yet, Web service technology is continuing its evolution into a mature, full-fledged platform for feature-rich and secure enterprise applications.
     
    This talk presents two second-generation development frameworks: Web services enhancements (WSE) and the Integration Bridge Framework (IBF). WSE adds a number of improvements over the Web services support built into the .NET Framework namely:
    ·  Support for the WS-Security family of specifications
    ·  light-weight Web services without requiring the IIS web serve
    ·  Improved support for message-oriented message exchange patterns
    ·  A declarative, policy driven programming model based on WS-Policy
     
    IBF is an application framework to enhance productivity of information workers by integrating Web services directly into Microsoft Office 2003 documents, such as Word documents or emails displayed in Outlook. Bringing data from other applications directly into office documents eliminates the need of switching between different applications offers and thus streamlines business processes.
     
    Together the two frameworks deliver a secure platform for effective and secure productivity solutions. The talk examines the need for security in a Web services environment and introduces the capabilities of WSE and IBF 
     
    For more details on ADNUG and our monthly meeting schedule please visit http://www.adnug.org.
     
    Hope to see you there.

  • Update: RPC/encoded still doesn't work with the October CTP bits.

    I got brave/curious/stupid/desperate after getting BizTalk to call an RPC/encoded Web service again and installed the .NET runtime distributed with the October CTP to see if that would be an option to have VS 2005 and BizTalk 2004 on the same box.
     
    The answer is:
    NOPE!!!
     
    Now BizTalk is hanging again when processing an RPC/encoded response from a web service. I surely hope that the .NET Runtime team and the BizTalk team get together before Visual Studio 2005 beta 2 and hash this one out.
     
    The whole side-by-side concept would be really great if the entire world was running .NET. Since even Microsoft's own applications don't seem to be able to get it right, how should 3rd party developers be able to do that? The sad reality is: The world is full of legacy applications that are not ready for side-by-side installations of the framework. Quit pretending it is!

  • Side-by-side - yeah right … More BTS 2004 / Visual Studio 2005 compatibility problems

    I finally returned to that box with BTS 2004 and Whidbey Beta 1 I mentioned earlier
    I wanted to do some work on another project -one that didn't interact with RPC encoded web
    services. This time I ran into another problem. I kept getting a COM error STG_E_FILENOTFOUND whenever I ran the Web Service Deployment Wizard.
     
    I ran FileMon to find out what file caused the error and noticed that the wizard was loading all sorts of Visual Studio 2005 libraries. The wizard is driving Visual Studio through its automation interfaces and Visual Studio 2003 and 2005 use the same ProgIDs. I smell the scent of the days without side-by-side. So I uninstalled my precious .NET 2.0 Beta 1 and SQL 2005 Beta 2 from that box.
     
    The good news is:
    1) calls to RPC encoded web services no longer hang waiting for the response.
    2) The COM error running the Web Service Deploying wizard is gone, too.
     
    The bad news is:
     
    Now it get a different exception running the wizard right when if is supposed to complete:
     
    I am getting:
     
    Failed to create project "http://localhost/Process_Proxy".
    [System.IO.FileNotFoundException] The system cannot find the file specified.
     
    or
     
    Failed to create project "http://localhost/Process_Proxy".
    [System.IO.FileNotFoundException] The item 'Service1.asmx' does not exist in the project directory. It may have been moved, renamed or deleted.
     
    In both cases, I do see the new virtual directory in IIS with the following files in it:
     
    Process.csproj
    Process.csproj.webinfo
    Service1.asmx
     
    When I open Process.csproj in Visual Studio, I don't get an error, but the project is empty, i.e. Service1.asmx is not part of the project.
     
    I ran repair for Visual Studio 2003 and BizTalk and re-installed SQL Server (because uninstalling SQL 2005 corrupted SQLDMO -- yes … I get it, COM doesn't do side-by-side well), but I can't get id of the error.
     
    I enabled tracing in the BTSWebSvcWiz.exe.config file by setting the trace switch:
     
      <system.diagnostics>
        <switches>
          <!-- TraceLevel 0=Off, 1=Error, 2=Warning, 3=Info, 4=Verbose -->
          <add name="ApplicationTraceSwitch" value="4" />
        </switches>
        <trace autoflush="true" indentsize="4">
          <listeners>
            <add name="Trace"
              type="System.Diagnostics.TextWriterTraceListener, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
              initializeData="BTSWebSvcWiz.trace.log" />
          </listeners>
        </trace>
      </system.diagnostics>
     
    But unfortunately, the generated log file doesn't contain any more information than the UI of the wizard.
     
    I looked through the IIS logs and found that last file the wizard requests is get_aspx_ver.aspx and IIS returns a file not found 404 error:
     
    20:07:09 127.0.0.1 GET /Process_Proxy/get_aspx_ver.aspx 404
    20:07:09 127.0.0.1 GET /Process_Proxy/vs-136057519329675525_tmp.htm 200
    20:07:09 127.0.0.1 GET /_vti_inf.html 200
    20:07:09 127.0.0.1 POST /Process_Proxy/_vti_bin/shtml.dll/_vti_rpc 405
    20:07:09 127.0.0.1 GET /_vti_inf.html 200
    20:07:09 127.0.0.1 POST /_vti_bin/shtml.dll 200
    20:07:09 127.0.0.1 POST /_vti_bin/shtml.dll 200
    20:07:09 127.0.0.1 POST /_vti_bin/_vti_aut/author.dll 200
    20:07:09 127.0.0.1 POST /_vti_bin/_vti_aut/author.dll 200
    20:07:09 127.0.0.1 POST /_vti_bin/_vti_adm/admin.dll 200
    20:07:11 127.0.0.1 POST /_vti_bin/_vti_adm/admin.dll 200
    20:07:11 127.0.0.1 POST /Process_Proxy/_vti_bin/_vti_aut/author.dll 200
    20:07:11 127.0.0.1 POST /Process_Proxy/_vti_bin/_vti_aut/author.dll 200
    20:07:11 127.0.0.1 POST /Process_Proxy/_vti_bin/_vti_aut/author.dll 200
    20:07:11 127.0.0.1 GET /Process_Proxy/vs-134074747329675525_tmp.htm 200
    20:07:11 127.0.0.1 POST /Process_Proxy/_vti_bin/_vti_aut/author.dll 200
    20:07:11 127.0.0.1 GET /Process_Proxy/get_aspx_ver.aspx 404
     
    Unfortunately, requesting this file seems to be normal behavior for Visual Studio and I don't understand why the Web Service Deployment Wizard is not able to handle this properly. I also ran aspnet_regiis /r to see if that would get rid if the problem to no avail.
     
     
    Has anybody else run into that problem and successfully solved it?

  • WSE and problems with the C++ compiler

    I was working on an article for one of the MSDN developer centers this week and wrote a little WSE web service in C++. The sample code had the SoapActor attribute attached to the web service, which really shouldn’t be a big deal, but as it turns out, it is.
     
    The rather inconspicuous lines
     
    [SoapActor( "soap://wse.bracketangles.net/secureecho" )]
    public ref class  SecureEchoService : public SoapService
     
    produce the following error:
     
    d:\christoph\C++\WSEConsoleService\SecureEchoService.h(8) : error C2364: 'System::Uri': illegal type for custom attribute
    d:\christoph\C++\WSEConsoleService\SecureEchoService.h(8) : error C3725: 'Microsoft::Web::Services2::Messaging::SoapActorAttribute': cannot resolve attribute overload could be 'Microsoft::Web::Services2::Messaging::SoapActorAttribute::SoapActorAttribute(System::Uri __gc *)'
     
    When you look up the error in the framework documentation you’ll quickly find:
     
    'type': illegal type for custom attribute
     
    Names arguments for custom attributes are limited to compile time constants. For example, integral types (int, char, etc.), System::Type*, and System::Object*.
    And what the error documentation states is true, not only for C++ projects, but for other languages like C# as well. However, if you look at the line of code with the SoapActor attribute again, you’ll agree that the parameter passed to the constructor is indeed a compile time constant of type String^ . Furthermore, look at WSE docs and you’ll see that there is a constructor for the SoapActor attribute that accepts a parameter of the type String^ … well yeah, or how would the Soap Actor attribute work properly with C# projects?
     
    The source of the problem is the C++ compiler sees the constructor overload with a parameter of type Uri, which has a constructor that takes a String^ , and thus picks the wrong constructer overload – the one that takes a Uri – for the Soap Actor. A Uri parameter cannot be a compile time constant because it’s allocated with gcnew and therefore compilation of my web service fails.
     
    Upon further investigation, it turns out that even the C++ compiler in Everett, i.e. .Net 1.1, exhibits the same behavior and there is currently no work-around. The bug will be fixed in an upcoming Whidbey build, but for now, me, and everybody else who wants to develop a WSE Web service with the SoapActor attribute in C++, has to wait for Microsoft to issue a hotfix.
     
     

  • .NET 2.0 Unit Testing Suggestions

    I was glad to see that finally enough people complained about the absence of Edit and Continue in C# that they changed their mind. I know quite a few very recognized people (and me) pointed out that this feature was just too big to miss when they got the first sneak-peak some time in 2003.

  • To Side-By-Side Or Not Side-by-Side With Whidbey And BTS 2004?

    On one of my boxes, on which I was running BizTalk Server 2004, I recently installed Whidbey Beta 1. WHen I was doing some BizTalk development on that box, I noticed that BizTalk will sometimes not process any responses from Web services using the RPC/encoded message style, regardless if they are built with Apache Axis or .NET. The receive action will never finish even though the service sends a valid response.

  • Buffer overrun starboard ahead ...

    Server Unavailable ... That was the message on my fancy new VoIP phone, when Blaster hit. Nothing worked that afteroon in the company I as at that day. No network, no phone, no nothing. Business stood still. Since then, we know that sloppy written C/C++ programs are the root of all evil, or at least of buffer overruns and other security problem. Therefore managed programming environments like our beloved .NET (and the where everything starts with the letter J) were created -- partially with the hope that these security problems would soon be a thing of the past.

  • My pop-up blocker quit working in Windows XP SP2 :(

    I recently edited the security settings for the Internet and Intranet zones on my computer. Ever since then my pop-up blocker quit working, regardless of what I am doing to re-instantiate it into avtive duty. Note that I did never explicitly turn it off. All I did was change the defaults for downloading AcitveX controls.

  • .NET Beta 2 Feature Cut List

    The ASP.NET team is blazing trails again. They already published the list of changes between beta 1 and beta 2 so us early adopters can prepare for the changes and roll out apps as soon as .NET beta 2 with the limited-support go-live license ships!

  • ANN: Visual Studio 2005 Express lnstallFest in Austin on 8/18

    I would like to invite all .NET enthusiasts in the Austin area to come out to the Microsoft Technology Center on Wednesday 8/18, 6:00pm to join us for an InstallFest for Visual Studio 2005 Express Beta 1. 
     
    WE will provide food, drinks, plenty of CDs to install beta 1 of the Visual Studio 2005 Express Editions and a few X-Boxes to play Halo while your installations are running. 
     
    YOU bring your laptops (or your desktops if you insist), install away and play. The installation of the Visual Studio Express Editions is fairly quick and easy (at least compared to the full version of Visual Studio). Depending on the speed of your laptop you should be done installing in about 30 minutes. I haven't seen any reports of issues running Visual Studio 2005 side-by-side with Visual Studio 2003, but since it is still in beta there are no guarantees.
     
    Please take a look at J Sawyer's blog entry for InstallFest FAQs. For questions about ADNUG and directions to the location, please visit http://www.adnug.org.
     
    Hope to see you there.
    Christoph

  • The Power of the Pen - and BizTalk doesn't use it

    Am I the only one to use the BizTalk Orchestration Designer on a Tablet PC? The drawing UI metaphor of the Orchestration Designer works really nice on a tablet with a pen. I think it's totally cool to draw orchestrations on the screen, instead of using the mouse -- it's almost like in the movie “Minority Report“, where Tom Cruise moved images on those giant transparent displays by waving his hands.

  • CapeClear's latest WSDL editor

    CapeClear recently released a new version of their free WSDL editor. The new version allows adding XML Schemas which, in my mind, was definitely a much needed feature. I think it nicely fills the gap between Visual Studio and its spartanic schema editing capabilities and BizTalk, which is lacking true WSDL editing.

  • DevDays: Deploying Application Secrets

    One question that I didn't have time to address during the OpenHack talk is how the encrypted encryption key, the entropy for the DPAPI calls and the connection string to access the Awards database are encrypted and stored in the registry.

  • Desiging SOAs With Orchestrations

    Now, if you own the web service interface then the second advantage bullet is less important and aspects may not be important to you. In those cases it seems to make sense to skip the orchestration unless you assign a high value to having a consistent design pattern. You have to weigh if you need down-to-the-metal performace (then why are you doing web services?), or if scalability is really what you are after. That's where the role of the service architect comes in, to help you make those trade-off decisions.

  • My Feedster Research Service

    My current client is currently undergoing the zone transfer into the web services zone. Initially, they were looking for some help to pick the right approach to introduce web services into their organization. By now, they are very fired up about web service technology and find that web services and SOA solve many of their problems.

  • MVC Shootout In Austin, TX

    Michael Stuart, lead developer of the .NET User Interface Application Block and Chuck Cavaness of Struts fame are presenting together at the Austin Software Architects User Group on 2/10. The ASAUG site has the details.

  • DevDays in Texas

    I'll be joining Markus Egger, Stephen Fulcher, Michael Stuart and many more interesting guys to speak at DevDays on ASP.NET Security in Houston on 3/1 and in Austin on 3/9. I am looking forward to seeing you there. If you're interested, you can register here.

  • The object of my (geekly) desire

    Are you like me? You think Tablet PCs are really cool, but you want one that can do STUFF? Not one of those whimpy 800 Mhz Pentium III boxes? One where you can run all of the apps (Visual Studio, Eclipse, Virtual PC, BizTalk 2004) that you need when you work with web services. And you want one with a screen that' big enough you don't need to go and get new glasses?