So, I'm finally posting back on this.  Our Applications guy has been back from 
vacation, but spring break used up most of my time with Hyper-V & SAN 
migrations (getting our cluster to 2012 R2).  Then there's state testing and 
.... I could go on =)

After these last messages, I had peeled the test proxy.pac file down to 
extremely basic functionality with no special characters, but Java still would 
not read the file.  Our network admin had two more ideas, one was to just 
rename the file to wpad.dat--that didn't work; the other was to also check the 
box for automatic configuration, which I tested today, and it also didn't work 
(and we don't have wpad published).  In order for our "split youtube" proxy to 
work, we need to have a minimum of two proxy pac files, one for staff and the 
other for students.  Although we could probably safely publish the student one 
with wpad, the staff are the ones having the Java app problems, so it doesn't 
solve the problem.

So here's the rest of the story--we have (as many others do) some ancient apps 
and haven't moved off of the Java 7.x series yet due to possible compatibility 
issues.  Since December, we've been heavily upgrading systems and doing some 
testing of 8.x in the last two months.  Our server applications analyst just 
got 8.x installed on his machine last week with the "official" deployment 
package so he could really test some specific apps and push forward with 8.x

So on a whim, I said hey, let's try it on Java 8.x.  And, it works flawlessly.  
Go back to a machine with v7.x, doesn't read the file.  Go to 8.x and point to 
the "real" proxy.pac file (with lots of spaces and CRs), it works flawlessly.  
Both are Win7, same user account, same roaming profile.

There are lots of reasons we need to get 8.x pushed out anyway as I'm sure 9.x 
will be out soon, so are now rolling down that hill at full speed.

Thanks to everyone who gave suggestions and pointers--'s very strange!

-Bonnie

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Miller Bonnie L.
Sent: Thursday, April 2, 2015 1:51 PM
To: [email protected]
Subject: RE: [NTSysADM] RE: Java and proxy.pac

Wow, thanks Ben--I will be looking at this again tomorrow--this is good stuff.

Sorry for the edu-speak... "Once our Server applications analyst ... has the 
rights to receipt printing in our SIS ..." means the guy who has the rights to 
run the problem Java applet to test is on a well-deserved vacation right now =)

SIS = Student Information System.  Most US school districts have one, either 
internal or hosted, and rights are locked down according to various state and 
federal laws as it has all sorts of data on the students and staff.  I don't 
actually even have a logon to it, and I don't need one for my job.  The applet 
that prints receipts for things (like paying for your ASB card) is what we have 
repro'd the problem with.

-B

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Ben Scott
Sent: Thursday, April 2, 2015 10:52 AM
To: [email protected]
Subject: Re: [NTSysADM] RE: Java and proxy.pac

On Wed, Apr 1, 2015 at 12:27 PM, Miller Bonnie L.
<[email protected]> wrote:
> Once our Server applications analyst ... has the rights to receipt 
> printing in our SIS ...

  I don't know what that means.  :-)

> I did see something about the space chars and tried going through the 
> file to make sure there weren't any tabs, etc ... Notepad++ ...

  You can do a search for \t with the Search Mode set to Extended to find all 
tabs.

  But our PAC script is full of tabs and works with Java.

  An unprintable but weird character (like a CTRL+G or something) might cause 
Java to puke, though.  Try telling Notepad++ to "Show all characters" and look 
for anything that's not space (middle dot), tab (arrow), or end-of-line.  Also 
make sure the end-of-line is consistent (if using CR+LF, it should be CR+LF 
everywhere).

> On the MIME types, is there something that needs to be added/defined 
> for the .pac file type?

  The web server should return the PAC script with a Content-Type of 
"application/x-ns-proxy-autoconfig".  This is typically accomplished by telling 
the server that any file ending in ".pac" has that type.  I don't know if 
recent versions of IIS define it that way out of the box.  In the past, I know 
you had to tell it manually.

  Some clients care about MIME types for the PAC script, others do not.  Java 
may care, so this is worth checking.

  You can see what your web server is doing with a decent Telnet or TCP client. 
 (Unfortunately bugs in the Microsoft Telnet client make it a bad choice for 
this.)  PuTTY works well in RAW mode, or use a *nix Telnet client if you have 
one.  Then connect to the web server on port 80, and type the following at the 
web server:

HEAD /path/to/proxy.pac HTTP/1.1
Host: web.server.name.example.com

  Make you press ENTER twice after the "Host" header.  You should get the HTTP 
headers back for the proxy script.  Look for "Content-Type".
If it's not "application/x-ns-proxy-autoconfig" you have a problem.

-- Ben


Reply via email to