<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
<link rel="stylesheet" href="../skin/site.css" type="text/css">
<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
<title>WebServices - Axis</title>
</head>
<body bgcolor="white" class="composite">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
<tbody>
<tr>
<td align="left">
<div class="groupLogo">
<a href="http://ws.apache.org/"><img border="0" class="logoImage" alt="The Apache WebServices Project" src="../images/project-logo.jpg"></a>
</div>
</td><td align="right">
<div class="projectLogo">
<a href="http://ws.apache.org/axis/"><img border="0" class="logoImage" alt="The Apache Axis Project" src="../images/axis.jpg"></a>
</div>
</td><td valign="top" rowspan="2" align="right" class="search">
<form target="_blank" action="http://www.google.co.jp/search" method="get">
<table summary="search" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#a5b6c6" colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="8" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="ws.apache.org" name="sitesearch" type="hidden"><input value="ja" name="hl" type="hidden"><input value="UTF-8" name="ie" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="検索" type="submit">
<br>WS を検索
                          
                          
                      </td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
</tr>
</table>
</form>
</td>
</tr>
</tbody>
</table>
</div>
<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
<tbody>
<tr class="status">
<td><a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">WS</a><a href=""></a></td><td id="tabs">
<div class="tab">
<span class="selectedTab"><a class="base-selected" href="../index.html">WebServices-Axis</a></span>
</div>
</td>
</tr>
</tbody>
</table>
<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
<tbody>
<tr valign="top">
<td id="leftcol">
<div id="navcolumn">
<div class="menuBar">
<div class="menu">
<span class="menuLabel">Axis</span>
 
<div class="menuItem">
<a href="../index.html">はじめに</a>
</div>
 
<div class="menuItem">
<a href="../news.html">お知らせ</a>
</div>

 
<div class="menuItem">
<a href="http://wiki.apache.org/ws/ja/axis">FAQ/Wiki</a>
</div>
 
<div class="menu">
<span class="menuLabel">活動に参加</span>
  
<div class="menuItem">
<a href="../overview.html">概要</a>
</div>
  
<div class="menuItem">
<a href="../cvs.html">CVS リポジトリ</a>
</div>
  
<div class="menuItem">
<a href="../mail.html">メーリングリスト</a>
</div>
  
<div class="menuItem">
<a href="../ref.html">リファレンスライブラリ</a>
</div>
  
<div class="menuItem">
<a href="../bugs.html">バグ</a>
</div>
  
<div class="menuItem">
<a href="../howtobuild.html">サイト構築方法</a>
</div>
 
</div>
 
<div class="menu">
<span class="menuLabel">Axis (Java)</span>
  
<div class="menuItem">
<a href="../java/index.html">ドキュメント</a>
</div>
  
<div class="menuItem">
<a href="../java/install.html">インストール</a>
</div>
  
<div class="menuItem">
<a href="../java/user-guide.html">ユーザガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/developers-guide.html">開発者ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/integration-guide.html">統合ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/architecture-guide.html">アーキテクチャガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/reference.html">リファレンスガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/reading.html">読書ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/requirements.html">要件</a>
</div>
 
</div>
 
<div class="menu">
<span class="menuLabel">Axis (C++)</span>
  
<div class="menuItem">
<a href="../cpp/index.html">Axis C++ 最新版</a>
</div>
  
<div class="menuItem">
<a href="../cpp/documentation.html">ドキュメント</a>
</div>
  
<div class="menuItem">
<a href="../cpp/download.html">ダウンロード</a>
</div>
  
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki ページ [英語]</a>
</div>
  
<div class="menuItem">
<a href="../cpp/who.html">メンバ紹介</a>
</div>
  
</div>

<div class="menu">
<span class="menuLabel">ダウンロード</span>
  
<div class="menuItem">
<a href="../releases.html">リリース</a>
</div>
  
<div class="menuItem">
<a href="../interim.html">暫定版</a>
</div>
  
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/ws-axis/">ソースコード [英語]</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">翻訳</span>
  
<div class="menuItem">
<a href="http://ws.apache.org/axis/jp/">日本語</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">関連プロジェクト</span>
  
<div class="menuItem">
<a href="http://ws.apache.org/wsif/">WSIF [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/*checkout*/ws-wsil/java/README.htm">WSIL [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">WSDL4J [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://www.uddi4j.org/">UDDI4J [英語]</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">その他</span>
  
<div class="menuItem">
<a href="../who.html">メンバ紹介</a>
</div>
  
<div class="menuItem">
<a href="../contact.html">連絡先</a>
</div>
  
<div class="menuItem">
<a href="../legal.html">法関連</a>
</div>
  
<div class="menuItem">
<a href="../docs.html">メモ/ドキュメント</a>
</div>

</div>


</div>
</div>
</div>
</td><td>
<div id="bodycol">
<div class="app">
<div align="center">
<h1>WebServices - Axis</h1>
</div>
<div class="h3"> 
   
   
    
<div class="h3">
<h3>WebServices - Axis - Summary of Apache/Microsoft Interoperability Meeting</h3>
</div>
      

<p>
Summary of Apache/Microsoft Interoperability Meeting<br>
March 12-14, 2001
</p>

<p>
From Apache: Glen Daniels, Jim Stearns, Doug Davis<br>
From MS: (main contacts) Keith Ballinger, Andrew Layman, Eric Andrae
</p>

<p>
Most of the 3 days were spent testing Apache SOAP v2.1 and Axis against
the 5 different versions of SOAP MS has (one being an IE client).
Since Axis doesn't have serialization support yet (just Strings) it
was limited in what it could do, but for those simple tests that
did NOOPs or tested Strings it did ok as a client and a server (just
a few minor tweaks were needed).
</p>

<p>
Apache SOAP v2.1 did much better.  There were a few bugs (and holes)
that were discovered but Glen was able to track them down and, I think,
fix all of them.  He's in the process of trying to see if the
fixes can be integrated back into the cvs tree, but is unsure about
one of the fix's impact on the MIME support - but we'll see.
</p>

<p>
MS has 5 different versions of SOAP and they've been doing some of
their own interoperability testing internally so I think they were
able to flush out most(all) of their differences before we got there.
However, we did manage to find a bug (or two?) in their code 8-)
but overall they had things pretty well covered.
</p>

<p>
For better or worse, MS is very WSDL dependent. If the industry is
headed down the path of basically requiring WSDL then Apache might
need to do so as well.
</p>

<p>
We had two strategy meetings in which we discussed how to improve
interoperability testing/conformance in the future, not just between
Apache and MS but everyone.  We decided to set-up a consortium in
which different SOAP implementations can join and test their version
of SOAP against the others in the group.  The main purpose of the
group would be to focus attention on interoperability issues and not
necessarily prove conformance to the SOAP spec.  While we will have
testcases that we "believe" test some aspects of conformance we can
not be the defining authority on who is, or is not, spec compliant.
All we can do is pretty much help people say that their SOAP code
can, or can not, play nicely with others in the group.  That being
said, there are some definite MUSTs and MUST NOTs in the spec and
we will have some tests that test those so we'll be walking a fine
line.
</p>

<p>
We will also group tests based on sections of the SOAP spec.  Not
everyone will want to implement all sections of the spec but will
still want to test conformance based on what they have implemented.
</p>

<p>
To help this "consortium" we're going to set-up a web site
(Jim has already reserved wsinterop.org and soapinterop.org) where
people can post their testcases and test results.  We also talked about
having pointers to "live" servers that people can hit to test their
SOAP implementations.  It wasn't decided how Apache will work this.
<br>
<b>****TODO*****</b>
<br>
We need to get someone to volunteer to set this up/host it.
</p>

<p>
Along the lines of getting interoperability, we discussed showcasing
how nicely we're all playing together.  8-)  In particular we
discussed having a live demo at a conference (maybe NetWorld Interop
in May) where people can hook up their machines in our network of
computers and join in "the game".  "The game" will consist of a fairly
simple maze type of game - each server will own a certain number of
rooms and clients will be able to walk from room to room examining,
and placing, objects in each one.  We'll define a set of base SOAP 
interfaces that people will need to implement and if they do then
they should be able hook-in their server and extend the maze.
</p>

<p>
Glen is working on the write-up of the overall idea and will
distribute it once it's done.  In order to help things along we
agreed to try to have another F2F around the end of April where we
will all get together in a room to hash-out the details of the
game/interfaces and to actually code it up.  I (Dug) have agreed to
see if IBM will host it in Raleigh.  Glen is going to see if 
Allaire (aka Macromedia) will be willing to work on the GUI that
the main-server will use to display the status of the game.
</p>
    
  

<div id="pdf" align="right">
<a href="ms-interop.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
          PDF</a>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div id="footer">
<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
<tbody>
<tr>
<td colspan="2">
<div align="center">
<div class="copyright">
              Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
            </div>
</div>
</td>
</tr>
<tr>
<td align="left"></td><td align="right">
<div align="right">
<div class="credit"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
