<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Web Services on The Dangling Pointer</title><link>https://aaron.blog/tags/web-services/</link><description>Recent content in Web Services on The Dangling Pointer</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 06 Mar 2009 20:43:16 +0000</lastBuildDate><atom:link href="https://aaron.blog/tags/web-services/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft WCF Web Services &amp; Java</title><link>https://aaron.blog/microsoft-wcf-web-services-java/</link><pubDate>Fri, 06 Mar 2009 20:43:16 +0000</pubDate><guid>https://aaron.blog/microsoft-wcf-web-services-java/</guid><description>&lt;p&gt;I spent a good 50+ hours on trying to consume a Microsoft WCF secure web service with a Java solution.  I tried Spring Web Services, Axis2, and looked at Metro/Tango and decided Axis2 was the "easiest" solution.  The web service I'm connecting to implements WS-Security, WS-SecureConversation, WS-Policy, WS-Trust and WS-Addressing (at least) and it's provided through a .NET 3.5 WCF endpoint.&lt;/p&gt;&lt;p&gt;It doesn't work.&lt;/p&gt;&lt;p&gt;Axis2 can't handle SpNego which is a WCF closed protocol allowing two WCF machines to negotiate the credentials between them.  The client has spent way too much money paying me to continue to figure out a Java solution, so I wrote a .NET 3.5 C# client.  Took me literally five lines of code and it's working.  That's great for .NET developers but a whole lotta horse shit for the rest of the world.  I'm hoping Axis2's Rampart module is updated to play nice with WS-SecureConversation and a .NET WCF web service.  Until then, I'm using the .NET client to download the data and I'm storing the SOAP body into a database table.  On the Java side, I'm still using JAXB2 to unmarshall the data into Java objects and process it through our existing persistence framework.&lt;/p&gt;</description></item></channel></rss>