>> MikeSchillingwrote:
>>>> MikeSchillingwrote:
[quoted text clipped - 17 lines]
> And now we've run into it, and this information is invaluable. score
> one for Usenet, and thanks, Arne.
At a project last year our team used Apache Web server as a front end to
Tomcat running Apache Axis to do Web services connecting to both J2EE clients
and .Net clients. All we had to do was make the WSDL specify
"document-literal" and follow certain Microsoftisms to assure interoperability.
Could it be that we were lucky that either Apache Web Server lacks the issue
or that that version did?
I'm with DTLLLUmpireSchedules - I'm really glad you showed us this tip.

Signature
Lew
Mike Schilling - 16 Jun 2007 07:53 GMT
>>> MikeSchillingwrote:
>>>>> MikeSchillingwrote:
[quoted text clipped - 26 lines]
> Could it be that we were lucky that either Apache Web Server lacks the
> issue or that that version did?
DTLLLUmpireSchedules is me, by the way (it's the gmail account I use to
send out Little League schedules, and the thread was old enough that I could
only access it from Google Groups).
We see the issue with .NET 2.0 clients communicating with Tomcat 5.5
services running under JDK1.5. All three of these versions are different
from the situations where we didn't see it, and I don't know which are
important. The issue seems to be a Microsoft bug pure and simple. The
clients issue requests with the "Expect:100-continue" header, which means
that they'll wait to get a status message back before sending the body of
the request. They then send the body of the request without waiting,
confusing the hell out of the service.
Arne Vajhøj - 16 Jun 2007 23:52 GMT
> We see the issue with .NET 2.0 clients communicating with Tomcat 5.5
> services running under JDK1.5. All three of these versions are different
[quoted text clipped - 4 lines]
> the request. They then send the body of the request without waiting,
> confusing the hell out of the service.
I don't think it is very nice of MS to have that option on by default.
Default should be standard HTTP.
And if necessary an option to do something non-standard.
And even though it is described in RFC 2616 (HTTP 1.1)
section 8.2.3, then I will still call it non-standard
in the sense that it is a very rarely used feature.
Arne
Mike Schilling - 17 Jun 2007 00:16 GMT
>> We see the issue with .NET 2.0 clients communicating with Tomcat 5.5
>> services running under JDK1.5. All three of these versions are different
[quoted text clipped - 14 lines]
> section 8.2.3, then I will still call it non-standard
> in the sense that it is a very rarely used feature.
It's required behavior for HTTP 1.1 servers:
Upon receiving a request which includes an Expect request-header
field with the "100-continue" expectation, an origin server MUST
either respond with 100 (Continue) status and continue to read
from the input stream, or respond with a final status code.
The problem isn't that Microsoft uses the feature, it's that they implement
it it correctly.
Arne Vajhøj - 16 Jun 2007 23:41 GMT
> At a project last year our team used Apache Web server as a front end to
> Tomcat running Apache Axis to do Web services connecting to both J2EE
[quoted text clipped - 4 lines]
> Could it be that we were lucky that either Apache Web Server lacks the
> issue or that that version did?
There are a bazillion possible combinations of Axis version, Tomcat
version, Java version, .NET version, web service style.
Since it is an HTTP protocol thing, then I am pretty sure that
neither Java version or web service style has anything to say.
I have some C# code that calls a plain JSP page where I also
have set that property - unless that was just a copy paste,
then Axis version is in the clear to.
So we are left with Tomcat version and .NET version.
When I found the problem it must have been Tomcat 5.5 and
.NET 1.1.
Arne