Updated: 11/15/2002; 3:13:10 PM.
Aggregated Weblog
This category is used to test the multi-author weblog tool.
        

Monday, June 10, 2002

Matt Mower on community formation in blogspace. Matt Mower has posted some interesting thoughts on community formation in blogspace: ...
11:43:03 AM    

Managing identity in Groove public spaces. More notes from the Groove/weblog frontier. John Burkhardt: ...
10:43:03 AM    

A report from the Groove/weblog frontier. The collaboration in the public Groove space started by Jeroen Bekkers continues to serve (I think) a useful cross-cultural purpose. As I mentioned before, at issue is not merely how to connect the two environments -- weblogs and Groove -- but more fundamentally why? What problems will integration solve, and how? ...
9:42:07 AM    

Now, here is a concept for all you bloggers and surfers of the world: next weekend - turn of your PC.  Leave it off for the whole weekend.  Have a life.  Visit your family.  Get some exercise.  Spend some time with human beings, face to face.  Its a lot more interesting than staring at a screen all day.  Trust me! [John Burkhardt] What, the whole weekend, all in one go, brrrrggghhhh, that's some cold turkey !
9:42:05 AM    

I've posted a response to Sam's "Is Com Interop Fundamentally Flawed?" article. Hopefully this provides a unique look at the problem that not many other developers have supplied. [Drew's Blog] Ahhh Java/COM those were the days :). Its a pitty that not everything from Java/COM made it to .NET, in particular in Java/COM java classes that were serializable automagically got a COM implementation of IPersistStream.
9:42:05 AM    

WSDL Wizard. Beta 3 of the PocketSOAP WSDL Wizard 2.0 is now available for download.
9:42:05 AM    

ROTFL
9:42:05 AM    

more on Enum.

Forget about the SOAP serialization for a second, but this actually seems more like a CLR problem to me. The runtime allowed the value 5 to be stored in a fooEnum value type. Heck, I just changed the method to do this:

return (fooEnum)5;

and it worked too. Looks like the testing the integral value upon cast for validity within the Enum is not there. So in the end I suppose they could add extra checks at the serialization layer, but it looks like the CLR is at fault for even allowing this assignment to take place. Then again, enums are just an abstract concept intended for compile time type checking. So if you do naughty things like this, maybe the compiler ought to be warning you? [Drew's Blog]

Well the fact that the cast is required indicates that its wrong, but you want to do it anyway. Drew pointed out in a later email that the original case of fooEnum.red | fooEnum.green on an enum with the System.Flags attribute is more much subtle, and less likely to get caught. The compiler ought to stop you doing bitwise operators on enums without the Flags attribute.


9:42:04 AM    

Thanks to Fumiaki Yoshimatsu for emailing me to say that the System.Flags attribute should fix my issues with the enum below. I gave it a go, and it looks good, here’s the revised schema ASP.NET generates for fooEnum


 
 
  
   
   
    
  

 

 



Calling getSomeFoo, now results in a response of “red green” so far so good. If I send a SOAP request, then I can also send “red green” and have it mapped back to fooEnum.red | fooEnum.green, cool. I do appear to have spotted what looks like a bug, in that if you try sending “red green” with the HTTP GET binding, it chokes with an error.
9:42:04 AM    

I've been looking into how to handle xsd:enumeration in PocketSOAP, I have something that works by mapping it to a VB enum type, and spitting out a custom serializer to get the correct string on the wire. I was looking into what ASP.NET does with enums and noticed that the bitfield stuff that .NET enums support can result in invalid messages being created by ASP.NET. I'm not entirely sure what it should do in this case, but generating a schema invalid message doesn't seem right to me, here's an example.

public enum fooEnum
{
    red = 1,
    blue = 2,
    green = 4
}
[WebService(Namespace="http://example.org/webservices/")]
public class foo
{
    [WebMethod]
    public fooEnum getSomeFoo()
    {
     return fooEnum.red | fooEnum.green ;
    }
}
And here's the resulting schema fragment it generates
<:s:simpleType name="fooEnum">
  <:s:restriction base="s:string">
    <:s:enumeration value="red" />
    <:s:enumeration value="blue" />
    <:s:enumeration value="green" />
  <:/s:restriction>
<:/s:simpleType>

This results in a response message containing the value 5, a result which isn't valid according to the schema generated for the WSDL. Perhaps it should generate an array of values ?
9:42:04 AM    

I just updated the main PocketSOAP RSS feed to RSS 1.0, let me know if you spot any problems.
9:42:04 AM    

Trying out the latest version of Aggie
9:42:04 AM    

Cool, Drew Marsh got his blog up and running.
9:42:04 AM    

There's a beta Win32 build of the HTTP/1.1 support for PocketSOAP available, if anyone wants to try it out.
9:42:04 AM    

If you're Interop'ing to Apache SOAP 2.3, you might want to be aware of this issue.
9:42:04 AM    

Sam points out that DIME vs SwA is about choice. Given that that the DIME stuff for .NET is a separate add-on, it should be possible to do the same with SwA, we don't need to wait for Keith to see the error of his ways :)
9:42:03 AM    

Web Services Interoperability panel at XML One/Web Service One. The XML Web Services One conference featured a panel of Web services experts from a variety of companies demonstrating interoperability in a basic scenario prepared for the conference. [xmlhack]
9:42:03 AM    

© Copyright 2002 Allie Rogers.
 
June 2002
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
May   Jul


Categories

Stories

Other Sites

Click here to visit the Radio UserLand website.

Subscribe to "Aggregated Weblog" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

Recent Posts
 5/22/02
 5/20/02
 5/20/02