The Source for Java Technology Collaboration
User: Password:



Harold Carr

Harold Carr's Blog

Metro Web Services / .NET 3.5 Plugfest Results

Posted by haroldcarr on November 14, 2007 at 06:32 AM | Comments (0)

3 Sun development engineers (myself, Jiandong and Ashutosh were at Microsoft's Redmond campus last week to participate in the latest plugfest to test interoperability between future releases of Metro Web Services and Windows Communication Foundation in .NET 3.5.

Note: our shipping product, Metro 1.0 (built into GlassFish V2 FCS (b58g) and runs in other web containers---e.g., Tomcat) ), interoperates with .NET 3.0 based on mostly non-standard specifications. What we tested at this plugfest was our current development codebase that will interoperate with .NET 3.5 based on standard specifications. If you are interested in the interop results for our shipping products see the Metro 1.0 Status Notes.

We tested Kerberos token support, Trust 1.3, SecureConversation 1.3, ReliableMessaging 1.1, MTOM and Addressing. Here are our results. The test results exceed our expections for this point in our development cycle.

Kerberos scenarios:

                                   Metro->WCF      WCF->Metro
WsSecurity10-K                     Pass            Pass
WsSecurity10-KD                    Pass            Pass
WsSecurity10Sign-KS                Pass            Pass
WsSecurity10Sign-KSD               Pass            Pass
WsSecurity11-K                     Pass            Pass
WsSecurity11-KD                    Pass            Pass
WsSecurity11-KD-ES                 Pass            Pass
WsSecurity11-K-NoTimestamp         Pass            Pass
WsSecurity11Sign-KS                Pass            Pass
WsSecurity11Sign-KSD               Pass            Pass
WsSecureConversation10-KC10        Pass            Pass
WsSecureConversation10-KDC10       Pass            Pass
WsSecureConversation11-KC          Pass            Pass
WsSecureConversation11-KDC         Pass            Pass
WsSecureConversationSign11-KSDC    Pass            Pass
WsSecureConversationSign10-KSC10   Pass            Pass
WsSecureConversationSign10-KSDC10  Pass            Pass
WsSecureConversationSign11-KSC     Pass            Pass

WS-Trust 1.3:

             S-S-M  S-M-M  S-M-S  M-S-S  M-S-M  M-M-S 

Scenario1:   F 	    F      P      P      P      P
Scenario2:   P      P      P      P      P      P
Scenario3:   P      P      P      P      P      P
Scenario4:   P      P      P      P      P      P
Scenario5:   P      P      P      P      P      P
Scenario9:   F      F      F      P      P      P
Scenario10:  P      P      P      P      P      P
Scenario11:  P      P      P      P      P      P

WS-SecureConversation 1.3:

            S-M  M-S
scenario6:  P    P
Scenario8:  P    P

Trust, SecureConversation Notes:

  1. S-S-M means Metro (Sun) client, Sun STS, Microsoft Service, etc.
  2. P = Pass, F = Failed
  3. For scenario1, the F due to a bug on WCF.
  4. For scenario9, the F due to an imcomplete feature support.
  5. The tests are based on the standard versions of all the technologies: WS-Policy 1.5, WS-Addressing 1.0 with addressing metadata, Oasis WS-SX ( WS-Trust 1.3, WS-SecureConversation 1.3, WS-SecurittyPolicy 1.2).

WS-ReliableMessaging 1.0 and 1.1: Metro client to WCF service:

604> ant run-reliableoneway | grep TestRM
     [java] TestRM v1.0, SOAP1.2, One-way: PASSED.
     [java] TestRM v1.0, SOAP1.1, One-way: PASSED.
     [java] TestRM v1.1, SOAP1.2, One-way: PASSED.
     [java] TestRM v1.1, SOAP1.1, One-way: PASSED.
605> ant run-reliableroundtrip | grep TestRM
     [java] TestRM v1.0, SOAP1.2, Roundtrip: PASSED.
     [java] TestRM v1.0, SOAP1.1, Roundtrip: PASSED.
     [java] TestRM v1.1, SOAP1.2, Roundtrip: PASSED.
     [java] TestRM v1.1, SOAP1.1, Roundtrip: PASSED.
606> ant run-securereliableoneway | grep TestRM
     [java] TestRM v1.0, SOAP1.2, One-way, Secure: PASSED.
     [java] TestRM v1.0, SOAP1.1, One-way, Secure: PASSED.
     [java] TestRM v1.1, SOAP1.2, One-way, Secure: ERROR!!!
     [java] TestRM v1.1, SOAP1.1, One-way, Secure: ERROR!!!
607> ant run-securereliableroundtrip | grep TestRM
     [java] TestRM v1.0, SOAP1.2, Roundtrip, Secure: PASSED.
     [java] TestRM v1.0, SOAP1.1, Roundtrip, Secure: PASSED.
     [java] TestRM v1.1, SOAP1.2, Roundtrip, Secure: ERROR!!!
     [java] TestRM v1.1, SOAP1.1, Roundtrip, Secure: ERROR!!!

Note: We fixed the four errors above but did not get a chance to try them at the plugfest. They now pass on the external endpoints.

WS-Addressing: Metro client to WCF service:

     [java] Tests run: 23,  Failures: 0,  Errors: 7
     [java] Tests run: 25,  Failures: 0,  Errors: 1
     [java] OK (10 tests)
     [java] OK (11 tests)

We had 8 Metro->WCF addressing failures. We are still investigating these.

WS-Addressing: WCF client to Metro service:

--------------------------------------------------
ttp://10.10.34.101:8080/jaxws-wsacrs12/cr

 +  	Test1200	Pass
 +  	Test1201	Pass
 +  	Test1202	Pass
 +  	Test1203	Pass
 +  	Test1204	Pass
 +  	Test1206	Pass
 +  	Test1207	Pass
 +  	Test1208	Pass
 +  	Test1230	Pass
 + 	Test1231	Pass
 +  	Test1232	Pass
 +  	Test1233	Pass
 +  	Test1234	Pass
 +  	Test1235	Pass
 +  	Test1236	Pass
 +  	Test1240	Pass
 +  	Test1241	Pass
 +  	Test1242	Pass
 +  	Test1243	Pass
 +  	Test1244	Pass
 +  	Test1246	Pass
 +  	Test1247	Pass
 +  	Test1250	Pass
 +  	Test1251	Pass
 +  	Test1252	Fail
 +  	Test1270	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsacrs11/cr

 +	Test1100	Pass
 +  	Test1101	Pass
 +  	Test1102	Pass
 +  	Test1103	Pass
 +  	Test1104	Pass
 +  	Test1106	Pass
 +  	Test1107	Pass
 +  	Test1108	Pass
 +  	Test1130	Pass
 +  	Test1131	Pass
 +  	Test1132	Pass
 +  	Test1133	Pass
 +  	Test1134	Pass
 +  	Test1135	Pass
 +  	Test1136	Pass
 +  	Test1140	Pass
 +  	Test1141	Pass
 +  	Test1142	Pass
 +  	Test1143	Pass
 +  	Test1144	Pass
 +  	Test1146	Pass
 +  	Test1147	Pass
 +  	Test1150	Pass
 +  	Test1151	Fail
 +  	Test1152	Fail
 +  	Test1170	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsamss12/member

 +  	Test1200	Pass
 +  	Test1201	Pass
 +  	Test1230	Pass
 +  	Test1231	Pass
 +  	Test1232	Pass
 +  	Test1233	Pass
 +  	Test1234	Pass
 +  	Test1235	Pass
 +  	Test1250	Pass
 +  	Test1251	Pass
 +  	Test1252	Fail
 +  	Test1270	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsamss11/member

 +	Test1100	Pass
 +  	Test1101	Pass
 +  	Test1130	Pass
 +  	Test1131	Pass
 +  	Test1132	Pass
 +  	Test1133	Pass
 +  	Test1134	Pass
 +  	Test1135	Pass
 +  	Test1150	Pass
 +  	Test1152	Fail
 +  	Test1170	Pass

We are investigating the 5 failures.

MTOM: Metro client to WCD service:

Names                                       Tests   Failures   Errors
indigo.mtom.soap11signenc.client            5       1          0
indigo.mtom.soap11signonly.client           5       0          0
indigo.mtom.soap11utf16.client              5       0          0
indigo.mtom.soap11utf8.client               5       0          0
indigo.mtom.soap12utf8.client               5       0          0
indigo.mtom.soap12utf8aug04.client          5       0          0
indigo.mtom.soap12utf8security.client       5       0          0
indigo.mtom.soap12utf8securityaug04.client  5       1          0	

The two failures are the same:

testEchoBinaryHeaderAsString	Error	An error occurred when verifying security for the message.

According to Kumar, the tests that fail are using WSS 1.0 instead of WSS 1.1. The failed tests are encrypting a SOAP Header - encrypted headers are not specified in WSS 1.0. So it seems the tests are invalid.

We will be continuously running the above tests along with the rest of the interop scenarios as we work toward Metro / .NET 3.5 interop for a release sometime in 2008. Check out Jiandong's and Ashutosh's blogs for more details on Kerberos, Trust and SecureConversation interop results from this plugfest.

Again, let me emphasize, these results are for a future Metro release that will interop with .NET 3.5. Our current shipping release interoperates with .NET 3.0

Technorati: wsit glassfish projectmetro


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds