Archives
-
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.
-
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.
-
Interface inconsistencies between ASMX Web services and System.Xml V1 and V2
I've been wondering why the class designs between ASMX Web services and System.Xml seem to be so disconnected. It seems like the ASMX team really doesn't get to keep up with the way things are done in System.Xml.
-
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!
-
Inconsitencies between Web Services and System.Xml
I've been wondering why the class designs between ASMX Web services and System.Xml seem to be so disconnected. It seems like the ASMX team really doesn't get to keep up with the way things are done in System.Xml.
-
My Ink Annotation Problem in Outlook
I am having a problems adding annotations to emails in Outlook and I can’t seem to find anything in the newsgroups or the knowledge base.
-
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 -
More XP SP2 upgrade and BizTalk happiness
-
System.(Web.)Caching myth dispelled.
Another myth dispelled! Last year we had an ADNUG presentation where the presenter (name withheld to protect the innocent) claimed that one should not use the great caching classes in System.Web.Caching outside of Asp.Net.
-
BizTalk 2004, XP SP2 and being Google-challenged
A few days ago I upraded my tablet to XP SP2 RC1 because I was really itching to try out the new input panel (yup, it rocks!).
-
NUnit testing BizTalk orchestrations?
Has anybody looked at building an NUnit extension for BizTalk orchestrations?
-
Using WSE attachments to get Ink from a TabletPC to a Web service
One of the most attended Hands-On-Labs last week at TechEd was the one by the TabletPC group. It was probably because they were giving away cute-sy, little USB memory keys, but anything that gets people to look more at tablets is good.
-
My article on troubleshooting the XmlSerializer is up on MSDN XML Dev Center
This new article is a much extended version of a post I had here several months ago. It desribes the various problems you can encounter working with the XmlSerializer and how to diagnose them. You can find the article here.
-
Enumerated types in Web service interfaces and BizTalk
On my last Biztalk project, I had to call a Web service interface containing an operation with an enumerated data type. As it turned out, that’s a non-trivial task. You would think that importing the WSDL would create a .NET enumerated type which you can use in a Message Assignment shape.
-
Flying Pointy Brackets == Anglebrackets?
I recently listened to Christian’s web cast on WSE 2.0, which is in German. I noticed a couple of things:
-
Doug Purdy on Remoting
About a month ago, there was a flurry of activity around the question if remoting is dead. Now some people think that it's not dead, it just smells funny.
-
Download Links: IBF and WSE BizTalk Adapters Preview
The Microsoft Office Integration Bridge Framework (IBF) was announced in Monday's opening keynote. It allows you easily hook up web services to Microsoft office applications. Download it here.
-
Message Tracing in BizTalk Web Service Proxies
I blogged about the message tracing feature in WSE yesterday, but WSE isn’t the only recent Microsoft product with a built-in tracing feature.
-
Quote from Steve Ballmer's TechEd keynote
Steve Ballmer said in today's opening keynote at TechEd:
-
Tracing capablities in WSE2
WSE 2.0 was released at TechEd today. Congratulations to the WSE team with Rebecca Dias, Keith Ballinger and the rest of the WSE Team. Version 2 comes with support for WS-Addressing, WS-Security, WS-Policy and a few other WS-* standards.
-
Tablet, Centrino, Battery life and CPU clock speed
I recently got my Acer Tablet with the power-saving Centrino technology. I am getting very decent battery times out of it, too. 4-6 hours with wireless on if I am not coding and running the compiler a lot.
-
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.
-
My TechEd Schedule
I'll be the cabana boy in the Web services cabana:
-
I'm the Indigo guesser!
Didn't I speculate that we'll see Indigo before Longhorn a little while ago?
-
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.
-
Speculating On Indigo, again
Time for me to start my next round of Indigo speculations.
-
Jeff's looking for the web services dial tone
-
DevDays: Restricting access to IIS websites.
One of the questions that came up after the Open Hack session in Houston was how do I restrict access to IIS once I detected an attack from a specific IP address?
-
DevDays: A simple way to configure a domain account to access the database
The web track sessions at DevDays highlights how important it is to access SQL Server using a trusted connection. However, the OpenHack sample application “cheats” because the web site and the database run on the same machine and you can simply configure the ASPNET account in the database.
-
DevDays: OpenHack and encrypting the encryption key
If you take a look at the code for the Open Hack application, you may notice that sensitive information is encrypted using an application specific encryption key, but the sensitive information in the registry is encrypted using the DPAPI functions.
-
Microsoft changes their orchestration tune
Did anybody else catch this? Over the past three weeks, there were two announcements that indicate a rather large shift in how Microsoft view's the role of service orchestration:
-
Aspects in BPEL
To continue Jeff's and my musings on Aspects...
-
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.
-
Leaks with the XmlSerializer?
Kirk Allen Evans and Paul Wilson are investigating some strange behavior that Paul found using the XmlSerializer.
-
Eric Meijer's Xen (X#) paper
For those who haven't seen the paper for Eric Meijer's presentation on the Xml-based-programming-language-formerly-know-as-X# at Xml 2003 (and of course for me to save the link in a place where I find it):
-
The missing WS-* Transaction Spec is ready
It was announced last October ... it's finally released: WS-BusinessActivity, the WS-* spec for long running business transactions. MSDN also put up a new article explaining how the various transaction related WS-* specs relate to each other.
-
HOWTO: Registering the Feedster Office Research Service
Follow the instructions at:
-
My experience writing an Office Research Service
I was quite intrigued by the idea of providing a research service for office. After all, this was the first real-world web-services based extension interface for a major application. I downloaded the Microsoft Ofiice 2003 Research SDK and got going.
-
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.
-
Parasoft announces commercial WS-I Test Tools 1.0 implementation.
InfoWorld reports that Parasoft announced that it's 2.5 release of SOAPtest, which features Security tests and WS-I Test Tools 1.0 specifications.
-
Another X# update. It's really not dead ...
Mary Jo at Microsoft-Watch confirms my suspicion that Xen is indeed The-Xml-based-programming-language-formerly-known-as-X# renamed -- and it's alive and kicking. Jorgen commented on it as well, and since he works on Don Box' Indigo team he should know what's going on there. In turn, I infer that his comment is an indirect confirmation of Mary Jo's statement.
-
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.
-
Welcome New XML MVPs
Congratulations to Jeff Julian, DonXML, Cazzu and Oleg for the MVP honors.
-
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?
-
I thought X# was dead ?
Last month several blogs reported that the X# project would not result in a product in the forseeable future.
-
Are You LinkedIn?
Has anyone else checked out: