Some of you have helped me in the past, so the initial paragraph you already 
know, but for completeness:
I develop business process applications that operate around Microsoft Exchange 
and use EWS to manipulate Exchange objects. Since my agency went to NTLMv2 
authentication, I could no longer use Java to authenticate to Exchange (all Red 
Hat Enterprise servers). To solve my authentication dilemma, I've set up a 
proxy to handle communications with Exchange since http components provided me 
the best way to authenticate and interact with Exchange. In a nutshell, my 
JAX-WS application interacts with a local "proxy servlet" that unloads the SOAP 
request, packs the request into an HttpPost object all folded up nicely with 
the NTLMv2 authentication objects, and gets SOAP response out of the entity 
returned by the Exchange server. The SOAP response is then returned to the 
proxy client. One other thing, in addition to the XML SOAP packet, the proxy 
must turnaround some of the HTTP headers as well. My last deployment went with 
core and client versions 4.2. Everything is working great on production right 
now.

How can I help you? I can always stick with 4.2, but I'm willing to do my part 
to help insure a great HC product. You guys are among the most active, 
competent, and helpful open source practitioners, so anything I can do to help, 
let me know. Anyway, here is what I've found.

I'm in the midst of a new development cycle to accommodate an upgrade to our 
Exchange server. I collect my jars using ivyresolve set to latest.release, and 
ivy gathered up the 4.3 jars (RCs I think) posted to maven site recently. My 
business processing has been broken in these new jars. What happens is when I 
contact the Exchange server with my SOAP request, Exchange returns this HTML 
error packet (which kinda sucks since the whole process is supposed to by XML 
based (why don't they send back an XML error packet), so the error my client 
sees is malformed XML error):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01//EN""http<http://www.w3.org/TR/html4/strict.dtd>://www.w3.org/TR/html4/strict.dtd
">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>
I believe the request verb is the Exchange method requested, in this case, it 
was FindItem, and the request verb is supposed to be placed as an Http 
header.<http://www.w3.org/TR/html4/strict.dtd>
What I notice is that some of the classes I use have been deprecated in 4.3, 
including: DefaultHttpClient, ClientConnectionManager, HttpParams, and 
HttpProtocolParams.<http://www.w3.org/TR/html4/strict.dtd> Not only are they 
deprecated, but they appear to be broken for my purposes. I don't really care 
about this if you don't since I can use 4.2, but if you do and would like me to 
trouble shoot, I am willing to do this.

Alternatively, since I've completed my development work and submitted my 
artifacts to sysops using HC 4.2, I am now looking to convert my proxy servlet 
to use 4.3 for the next cycle. When I finish that process, hopefully all will 
work, and I will certainly let you know. I understand that you do not have 
access to an Exchange server running NTLMv2, so I'm happy to provide you with 
test activities there.

Please let me know if there is anything more you'd like me to do.

Thanks for all the good work,
Dave
  • 4.3 issues Godbey, David J. (HQ-LM020)[DIGITAL MANAGEMENT INC.]

Reply via email to