<ChristophDotNet
desc="My angle on brackets" />
-
Talks in 2005
The new year is starting out really busy and I've already got a few user group talks scheduled:2/10/2005, Houston .NET User Group: The XML Data Type and XQuery in SQL Server 20053/16/2005, Austin SQL Server Group: XML and Web Services in SQL Server 20054/13/2005, Austin XML: Indigo - Where are my anglebrackets and other WS-Goodnessand tentatively12/12/2005, Austin .NET User Group: Indigo - Where are my anglebrackets and other WS-GoodnessI'll post the abstracts soon.Hope to see you there. -
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-PolicyIBF 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 IBFFor more details on ADNUG and our monthly meeting schedule please visit http://www.adnug.org.Hope to see you there. -
Update: WSE 2.0 SP2 adds work-around for the SoapActorAttribute / C++ issue
Hervey announced the PreRelease of WSE 2.0 SP2 and I am very pleased to find that the WSE team already addressed the issue in the C++ compiler I reported a little while ago.
-
Update: WSE 2.0 SP2 adds work-around for the SoapActorArrtibute / C++ issue
Hervey announced the PreRelease of WSE 2.0 SP2 and I am very pleased to find that the WSE team already addressed the issue in the C++ compiler I reported a little while ago.
-
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 webservices. 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.orFailed 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.csprojProcess.csproj.webinfoService1.asmxWhen 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 404Unfortunately, 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 SoapServiceproduce the following error:d:\christoph\C++\WSEConsoleService\SecureEchoService.h(8) : error C2364: 'System::Uri': illegal type for custom attributed:\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 attributeNames 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.Update: The WSE team fixed the attribute in WSE 2.0 SP2 -
.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.
-
Upcoming Talk At Austin SQL Server User Group
I'll be speaking at CACTUSS on 10/19/04 at 5:30pm at the Microsoft Technology Center in Austin. The talk examines using XML with SQL Server 2000, SQLXML 3.0 and, if time permits, SQL Server 2005.