Monday April 30, 2007
Ask the WSIT/Project Tango Experts
As mentioned earlier, Ask the WSIT Experts (Web Services Interoperability Technologies, aka Project Tango) is now live!
Please start shooting your questions and we are ready.
Technorati: wsit tango webservices glassfish
Posted by Arun Gupta in webservices | Comments[24]
|
|
|
|
|
Sunday April 29, 2007
Mon: 3.5 miles
Tue: 7 miles
Wed: Rest
Thu: 7 miles
Fri: Strength Training
Sat: 13.5 miles
Sun: Rest
Couple of interesting reads ...
Technorati: running training fitness runninglog
Posted by Arun Gupta in Running | Comments[2]
|
|
|
|
|
Saturday April 28, 2007
With only 13 more weeks remaining for the marathon, I did my first 13.5 miles run this morning. The weekend runs are going to get longer only from now onwards.
Miles to go ...
Posted by Arun Gupta in Running | Comments[0]
|
|
|
|
| Sun Web Services @ JavaOne 2007
Follow up post from here.
Here is a complete list of Sun Web services technical sessions/birds-of-feather sessions, including date and time, at JavaOne 2007:
| 10:30am-7:30pm | GlassFish Day | |
| 6:00pm-7:00pm | TS-6411 | JSR 311: The Java API for RESTful Web Services |
| 8:00pm-8:50pm | BOF-8034 | Extending and Embedding the Java API for XML Web Services (JAX-WS) 2.1 Reference Implementation |
| 3:50pm-5:20pm | LAB-3350 | Make Java Technology and .NET 3.0 Interoperability Work With WSIT |
| 4:10pm-5:10pm | TS-4865 | Takes two to Tango: Java Web Services and .NET Interoperability |
| 7:55pm-8:45pm | BOF-6412 | Describing RESTful Applications: WADLing with Java |
| 8:55pm-9:45pm | BOF-4612 | Java Platform, Enterprise Edition (Java EE): Meet the Experts (Part 2) |
| 9:35am-11:35am | LAB-5410 | Using Identity to Secure Web Services |
| 10:55am-11:55am | TS-8897 | Designing Service Collaborations: The Design of "Wire"-Centric Integration |
| 2:50pm-3:50pm | TS-4948 | Unleashing the Power of JAX-WS RI: Spring, Stateful Web Services, SMTP, and More |
| 5:30pm-6:30pm | TS-8840 | Services Interoperability with Java Technology and .NET: Technologies and Tools for Web 2.0 |
| 7:55pm-8:45pm | BOF-4108 | Reliable, Transacted, and Secure Web Services Between Java and .NET, Using WSIT |
|
|
||
| 1:30pm-2:20pm | TS-4865 | Takes two to Tango: Java Web Services and .NET Interoperability |
Note, TS-4865 is a repeat session.
Technorati: Javaone Tango WSIT Glassfish Web Services JAX-WS JAXWS presos
Posted by Arun Gupta in webservices | Comments[0]
|
|
|
|
|
Friday April 27, 2007
blogs.sun.com (BSC) is a space available to any Sun Microsystems employee to write about anything. April 27th, 2007 is the third birthday of this space. Below is my contribution:
| Total Blog Entries | 65395 | 238 (0.36 %) |
| Total Comments | 61617 | 211 (0.34 %) |
| First Entry | Apr 27, 2004 | Aug 2, 2005 |
There is even an aggregator for Sun alumni. Read interesting tidbits over past 3 years in Linda's (engineering program manager for BSC) blog. A complete collection of wishes can be viewed here.
Here is a partial list of ways I've benefited from this personal space:
The list can go on. This blog is, now, a significant part of my identity 
Happy third irthday blogs.sun.com, and congratulations to BSC engineering team!
Posted by Arun Gupta in General | Comments[1]
|
|
|
|
|
Thursday April 26, 2007
How to invoke a WSIT endpoint from a WCF client ?
You've developed a reliable, secure transactional and interoperable Web service using Web Services Interoperability Technology (WSIT, aka Project Tango) plug-in in NetBeans 5.5.1 and deployed on GlassFish v2. NetBeans IDE provide a very seamless experience to build such a Web service. The primary goal of WSIT is to provide first-class interoperability with Windows Communication Foundation (WCF), the Web services component of .NET 3.0 framework. Once the Web service is deployed, you'd like to invoke this Web service by writing a client using Visual Studio. It's not straight forward to do so today and this entry highlights the steps required to do that.
Program.cs
is shown in the main Visual Studio window.Add
Service Reference ...". This is the big difference. If you select "Add
Web Reference ...", then this creates a proxy and app.config
for .NET 2.0 framework. But WSIT is about interoperability with .NET 3.0
framework.http://localhost:8080/WebApplication1/NewWebServiceService?wsdl).In the Main function of Program.cs, add the logic to invoke the generated proxy. The code looks like:usingSystem; using System.Collections.Generic; using System.Text; using ConsoleApplication1.localhost;
namespaceConsoleApplication1 { class Program { static void Main(string[] args) { NewWebServiceClient client = new NewWebServiceClient(); Console.WriteLine(client.sayHello("Duke")); } } }
Build", "Build
Solution" (default shortcut Ctrl+Shift+B).ConsoleApplication1\bin\Debug\ConsoleApplication1.exe.
This will make a request to WSIT endpoint and get a response back.The generated app.config file looks like:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="NewWebServicePortBinding">
<reliableSession acknowledgementInterval="00:00:00.2000000" flowControlEnabled="true"
inactivityTimeout="00:10:00" maxPendingChannels="4" maxRetryCount="8"
maxTransferWindowSize="8" ordered="true" />
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap11WSAddressing10" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
<httpTransport manualAddressing="false" maxBufferPoolSize="524288"
maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
useDefaultWebProxy="true" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="http://localhost:8080/WebApplication1/NewWebServiceService"
binding="customBinding" bindingConfiguration="NewWebServicePortBinding"
contract="ConsoleApplication1.localhost.NewWebService" name="NewWebServicePort" />
</client>
</system.serviceModel>
</configuration>
Here are the SOAP messages that get exchanged over the wire:
====[com.sun.xml.ws.assembler.server:request]==== <?xml version="1.0" ?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</a:Action> <a:MessageID>urn:uuid:3429a390-96df-4f26-bd8c-fc85bd8f1858</a:MessageID> <a:To s:mustUnderstand="1">http://localhost:8080/WebApplication1/NewWebServiceService</a:To> </s:Header> <s:Body> <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"> <AcksTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </AcksTo> <Offer> <Identifier>urn:uuid:402432c9-b191-4912-a04a-69bbdbd1b2d3</Identifier> </Offer> </CreateSequence> </s:Body> </s:Envelope> ============ ====[com.sun.xml.ws.assembler.server:response]==== <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header> <To xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</To> <Action xmlns="http://www.w3.org/2005/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action> <MessageID xmlns="http://www.w3.org/2005/08/addressing">uuid:b51f92ee-9ab9-4a90-a61e-d5dd3a77a0f9</MessageID> <RelatesTo xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:3429a390-96df-4f26-bd8c-fc85bd8f1858</RelatesTo> </S:Header> <S:Body> <ns2:CreateSequenceResponse xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://schemas.microsoft.com/ws/2006/05/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2005/02/rm"> <ns2:Identifier>uuid:d01cff2f-9192-4672-942b-2ec284a93802</ns2:Identifier> <ns2:Accept> <ns2:AcksTo> <ns4:Address>http://localhost:8080/WebApplication1/NewWebServiceService</ns4:Address> </ns2:AcksTo> </ns2:Accept> </ns2:CreateSequenceResponse> </S:Body> </S:Envelope> ============ ====[com.sun.xml.ws.assembler.server:request]==== <?xml version="1.0" ?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:r="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <r:Sequence s:mustUnderstand="1"> <r:Identifier>uuid:d01cff2f-9192-4672-942b-2ec284a93802</r:Identifier> <r:MessageNumber>1</r:MessageNumber> </r:Sequence> <a:Action s:mustUnderstand="1">sayHello</a:Action> <a:MessageID>urn:uuid:d9c8b864-f236-40ad-a4c0-72c42565855f</a:MessageID> <a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </a:ReplyTo> <a:To s:mustUnderstand="1">http://localhost:8080/WebApplication1/NewWebServiceService</a:To> </s:Header> <s:Body> <sayHello xmlns="http://test/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <name xmlns="">Duke</name> </sayHello> </s:Body> </s:Envelope> ============ ====[com.sun.xml.ws.assembler.server:response]==== <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header> <To xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</To> <Action xmlns="http://www.w3.org/2005/08/addressing">http://test/NewWebService/sayHelloResponse</Action> <MessageID xmlns="http://www.w3.org/2005/08/addressing">uuid:9091661c-c817-4411-b8aa-7f4f937162da</MessageID> <RelatesTo xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:d9c8b864-f236-40ad-a4c0-72c42565855f</RelatesTo> <ns2:Sequence xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://schemas.microsoft.com/ws/2006/05/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2005/02/rm"> <ns2:Identifier>urn:uuid:402432c9-b191-4912-a04a-69bbdbd1b2d3</ns2:Identifier> <ns2:MessageNumber>1</ns2:MessageNumber> </ns2:Sequence> <ns2:AckRequested xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://schemas.microsoft.com/ws/2006/05/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2005/02/rm"> <ns2:Identifier>urn:uuid:402432c9-b191-4912-a04a-69bbdbd1b2d3</ns2:Identifier> </ns2:AckRequested> <ns2:SequenceAcknowledgement xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://schemas.microsoft.com/ws/2006/05/rm" xmlns:ns2="http://schemas.xmlsoap.org/ws/2005/02/rm"> <ns2:Identifier>uuid:d01cff2f-9192-4672-942b-2ec284a93802</ns2:Identifier> <ns2:AcknowledgementRange Upper="1" Lower="1"></ns2:AcknowledgementRange> </ns2:SequenceAcknowledgement> </S:Header> <S:Body> <ns2:sayHelloResponse xmlns:ns2="http://test/"> <return>Hello Duke</return> </ns2:sayHelloResponse> </S:Body> </S:Envelope> ============
The same programming model will work for creating a WCF client if you add security or transactions support on the WSIT endpoint.
Technorati: wsit glassfish webservices vista wcf visualstudio
Posted by Arun Gupta in webservices | Comments[10]
|
|
|
|
|
Wednesday April 25, 2007
Welcome Ryan! He works on the implementation of WS-Coordination in WSIT.
And he starts his blog with a screencast on how to enable distributed Web services transactions between GlassFish v2 and .NET 3.0.
Technorati: screencast glassfish web services wsit
Posted by Arun Gupta in webservices | Comments[0]
|
|
|
|
|
Monday April 23, 2007
Resolved Vista Upgrade Error 80070103
Follow up from here.
After getting bounced around between Microsoft Tech Support and MSDN Tech Support (seem to be separate entities) and collecting almost 5 different toll-free numbers for them, I finally resolved the error with help from a very talented and patient MSDN Tech Support professional.
Basically, the machine had two partitions - one using Windows XP and other Linux. And somehow the Linux partition was coming out as the primary active partition. So every time I was trying to install Vista, whether from within XP or boot from DVD, it was trying to look for an empty space on this partition. And of course it was not able to find any space because this file system is not NTFS. Now when I look at the error message again, it makes sense. But can't the installation process find out that there are multiple partitions, one of them using NTFS, and then provide that information ?
With tech support help, I resolved the issue by deleting and formatting both the partitions. Another way to resolve this was to set Windows XP as the active partition following these instructions.
I almost lost faith in Microsoft Tech Support but this one talented individual helped me restore it.
Technorati: windows Vista XP microsoft
Posted by Arun Gupta in General | Comments[10]
|
|
|
|
| Week 10 Mileage - Improved PR on Rancho
Mon: Rest
Tue: 7 miles
Wed: 5 miles
Thu: Rest
Fri: Rain
Sat: 9 miles
Sun: 10 miles
Improved my last week's PR on Rancho to 47:35 going up and a total timing of 1:19:10.
Here are the interesting reads of this time ...
Technorati: running training fitness runninglog
Posted by Arun Gupta in Running | Comments[0]
|
|
|
|
|
Friday April 20, 2007
XP -> Vista Upgrade: Error 80070103
I've been trying to upgrade an Ultra 20/4 GB RAM with Windows XP + SP2 machine to Windows Vista Ultimate and it's just a plain ugly experience. I've installed Vista on two other machines and it was a much better but this one is the other extreme.
I insert the Vista media in the drive and it pops up a window with an option "Install now". I click on install and then it shows the following error message:
It's hard to understand this error message because the primary drive has 91 GB of free disk space and installed using NTFS. Is the error message trying to convey something else ?
Searched on microsoft.com pointed me to this. But this article is only talking about this error code when installing updates, not updating the whole operating system. Anyway, I installed all the latest updates recommended by Windows Update Center. I also disabled my antivirus software as recommended in "What to know before installing Windows" (even though it's a weird requirement) but this error will not go away.
Tried searching if temp directory is somehow assigned smaller space but didn't find anything on that topic. Not sure if that's even possible.
I posted a question to Vista installation newsgroup. The responses there point to a mismatch (1, 2, 3) between default display drivers provided by Microsoft and nVidia. So I uninstalled the default display driver and installed nVidia's display driver. But still the same error message/number. BTW, the machine has Quadro FX 1400 card.
Then called up nVidia Tech Support. It took them few minutes to figure out that I'm "overwriting" my Window XP with Vista even though I began the call with "I'm upgrading my XP to Vista". Anyway, after the person on tech support understood my issue, I was told to format my Windows XP and then tried installing Vista from scratch! Another quote is "This is definitely a Microsoft problem because Vista is not even getting installed" even though I mentioned that all the links are referring about nVidia driver mismatch. Additionally, nVidia.com main website links to Can your computer run Windows Vista ? which test and reports whether a system can run Windows Vista or not. Interestingly, my laptop (which already has Vista) failed this test at Minimum, Recommended and Optimal level. And the machine on which I'm trying to install Vista passes this test at Minimum level but still giving this weird error.
Finally I called up Microsoft Tech Support and they transferred me to MSDN tech support which close at 5:30pm PT on weekdays.
As a result, I'm stuck this weekend waiting for MSDN tech support to open up Monday morning and then will follow up.
Is Windows Vista really ready for prime time for any serious application ?
UPDATE: Submitted a bug here.
Technorati: windows Vista XP nVidia
Posted by Arun Gupta in General | Comments[18]
|
|
|
|
| Ajax is a popular term for past few months but is still being written incorrectly as "AJAX" (all capitals) instead of "Ajax" (camel case). I started using AJAX but then corrected myself and have been using Ajax since then. So the correct term is Ajax, not AJAX.
Here is a list of several reasons (some mine and others from my colleague Rick's list):
The name is shorthand for
Asynchronous JavaScript + XML". It is intended to be a shorthand,
not an acronym. And notice it is "+", not an "and" indicating a
collection of technologies.I needed something shorter than
“Asynchronous JavaScript+CSS+DOM+XMLHttpRequest” to use when discussing
this approach with clients.". Ajax is not just Asynchronous
JavaScript and XML, it's CSS and DOM as well. Moreover JSON is becoming
a more
popular format for data interchange. Should "AJAX" then instead be
coined as "AJAJ" ? Or if an application happen to use Text instead, will
they call it as "AJAT" ?I think the above three bullets should be sufficient to convince anybody to use "Ajax" instead of "AJAX". But if not, here are some more reasons to switch to the correct usage of term:
Ajax beats AJAX in all but bad newspapers."Now there should be no reason to use "AJAX". However if you still feel like using this term, please leave a comment on this blog and let's talk. There are some incorrect usages in sun.com and I'll follow up to get them fixed.
Posted by Arun Gupta in web2.0 | Comments[4]
|
|
|
|
|
Thursday April 19, 2007
JavaOne 2007 is 18 days away and fever is building. Here is what's new at the conference this year ...
![]() |
Besides all these, JavaOne Conference is becoming more eco-friendly by
initiating a significant virtual campaign and printing on recycled paper using
soy-based inks. A total of 712 trees are saved with complete details
here. And then of course, there is usual frenzy of general sessions (aka keynote), early morning to late night technical sessions/bofs, pavilion (reduced hours this time), hands-on-labs, Java University, After Dark and many other activities. |
Posted by Arun Gupta in General | Comments[0]
|
|
|
|
|
Wednesday April 18, 2007
As reported earlier, GlassFish team presented at Silicon Valley Java Users Group / Silicon Valley Web Developer JUG -AT- GooglePlex yesterday. The slides can be downloaded here.
Mike Van Riper, co-leader of Web JUG opened few minutes after 7 and then until 9pm we had some interesting discussions/demos around integrated NetBeans tooling experience, Web services support, .NET interoperability, monitoring, clustering, and many other topics. Thanks to everybody who attended. Feel free to leave a comment on this blog if you attended and liked it or would like us to improve.
Thanks to Abhijit for arranging the give-aways!
|
|
|
|
|
|
|
|
|
|
|
|
Here are some more references to validate our position:

Let us know if you'll be interested in a similar talk in your community.
Technorati: glassfish siliconvalleyjug svjug webjug
Posted by Arun Gupta in webservices | Comments[1]
|
|
|
|
|
Tuesday April 17, 2007
Harold, Marek and I will be answering your questions on Web Services Interoperability Technology (WSIT), aka Project Tango, in an Ask The Expert session during the week of April 30.
Project Tango, part of GlassFish v2, provides secure, reliable, transactional and interoperable Web services with Microsoft .NET 3.0 framework. So get your inquisitive minds working and collect your questions about the inner workings of the code, NetBeans WSIT plug-in, plug-fest experience, about the team or any thing that strikes your fancy related to Project Tango. We will do our best to answer all the questions. If you cannot wait, feel free to shoot an email to dev-AT-wsit.dev.java.net or post a question on WSIT Forum. The complete archive will be available after the session.
And of course, check out our complete Web services session lists at JavaOne 2007. And stop by to chat if you attend any of the session!
Technorati: wsit tango webservices glassfish
Posted by Arun Gupta in webservices | Comments[1]
|
|
|
|
|
Monday April 16, 2007
Follow up here.
Spring is now approx 4 weeks old and here are some more pictures from the neighborhood.
I hope we continue to see these and more flowers blossoming in the season, specially since Mercury News has declared drought. My son is a big "water saver" following three steps:
He even pasted a note in our living room and asked all his friends to save water. Drop by drop, we will all get through it.
I plan to post more tips on water saving in subsequent entries.
Technorati: nikon d80 digital spring blossoms photography
Posted by Arun Gupta in photography | Comments[1]
|
|
|
|
|
Today's Page Hits: 1924
Total # blog entries: 1002