David
Wed Aug 31 00:12:04 CDT 2005
This is Perl-specific questions at this point (how Perl deals with versions,
paths, etc -- depends on Perl) and I really do not know.
--
//David
IIS
http://blogs.msdn.com/David.Wang
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"alan" <alan@discussions.microsoft.com> wrote in message
news:0E926B97-1A9C-4A3A-BDE5-9F8B689D3B76@microsoft.com...
David:
Got more info for you. When I try to execute the perl script from the
command line I get an error message indicating that it's trying to run a
different version of perl than I set it for in the Web Service Extension and
Applciations Mapping configuration. Turns out that there were several
IIsWebVirtualDir Location tags and that the ScriptMaps attribute in one of
them points to a different version of Perl than the other two in the
metabase.xml file. The "different" version was from an old test I had tried
and is no longer, to the best of my knowledge, referenced in the IIS
configuration. (It's not clear to me that the metabase.xml gets updated or
that old setting are deleted from the file.) In any case, I removed the
entry and still get the error message but at least know that metabase.xml is
setup properly for my Perl application.
The tip off to the Perl directory problem surfaced when I tried to run the
perl script from the command line. The path to the Perl compiler I did not
want appeared before the one I needed and consequently threw the following
error. I can't find the path to these Perl directories in the environment.
Perhaps I've missed something though. Any idea where it's set ?
Here is the command line attempt that tipped me to the problem:
C:\Inetpub\Scripts\DDD>"C:\Program Files\DDD\Perl\bin\perl5.8.4.exe"
tialDirect.pl
Perl lib version (v5.6.1) doesn't match executable version (v5.8.4) at
C:\oracle
\product\10.1.0\Db_1\perl\5.6.1\lib\MSWin32-x86/Config.pm line 21.
Compilation failed in require at C:/Program Files/DDD/Perl/lib/Time/Local.pm
line 5.
BEGIN failed--compilation aborted at C:/Program
Files/DDD/Perl/lib/Time/Local.pm line 5.
Compilation failed in require at
C:\oracle\product\10.1.0\Db_1\perl\site\5.6.1\lib/HTTP/Date.pm line 12.
Compilation failed in require at
C:\oracle\product\10.1.0\Db_1\perl\site\5.6.1\lib/LWP/UserAgent.pm line 102.
BEGIN failed--compilation aborted at
C:\oracle\product\10.1.0\Db_1\perl\site\5.6.1\lib/LWP/UserAgent.pm line 102.
Compilation failed in require at tialDirect.pl line 35.
BEGIN failed--compilation aborted at tialDirect.pl line 35.
Thanks very much.
alan
"David Wang [Msft]" wrote:
> This either means your ScriptMapping is not set up correctly (so you are
not
> actually running any Perl scripts), or your Perl script is not outputing
> valid HTTP response.
>
> Use a simple "Hello World" Perl script to prove that scriptmapping and web
> service extension is set up correctly.
>
> Then, make sure your Perl script outputs HTTP response in accordance to
> CGI/1.1 specification (it is supposed to do that, or else it is not valid
> CGI and IIS6 will complain with that error). In particular, CGI must
output
> either a status line or a status: header, a content-type: header, and
header
> lines must be terminated with CRLF according to HTTP 1.1.
>
> --
> //David
> IIS
>
http://blogs.msdn.com/David.Wang
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> //
> "alan" <alan@discussions.microsoft.com> wrote in message
> news:59DA2D3E-691D-423F-8C8B-A530E512A5C8@microsoft.com...
> Thanks for the url to your blog. I got a test script to run, but I had to
> specify a different syntax for the web service extension and Applications
> Mapping setting. The Applications setting needed:
> "c:\Program Files\perl\bin\perl8.4.3.exe" %s %s
>
> Trying to add that path as a webservice extension causes the following
> message to be displayed:
> "File paths must be specified in the form of ..."
> When I leave the path name unquoted the test script (which prints out
> environment variables) works fine:
> c:\Program Files\perl\bin\perl8.4.3.exe %s %s
>
> After running the test script I tried to run the application I'd set out
to
> run and got this message:
> CGI Error
> The specified CGI application misbehaved by not returning a complete set
of
> HTTP headers
>
> The next question is any idea about why this would be happening ?
>
> Thanks.
>
> alan
> "David Wang [Msft]" wrote:
>
> > The Web Service Extension needs to be specified exactly as the Script
> Engine
> > setting of the Application Mapping.
> >
> > The IIS Manager UI is unable to correctly create Web Service Extension
for
> > certain CGI combination. Yours is one of them. Thus, you will keep
getting
> > 404 2 1260 until you enter it correctly.
> >
> > Read my blog entry on how to do this correctly.
> >
>
http://blogs.msdn.com/david.wang/archive/2005/04/20/IIS6_CGI_Web_Service_Extension.aspx
> >
> > --
> > //David
> > IIS
> >
http://blogs.msdn.com/David.Wang
> > This posting is provided "AS IS" with no warranties, and confers no
> rights.
> > //
> > "alan" <alan@discussions.microsoft.com> wrote in message
> > news:4FDF9189-B769-4E38-9ABF-4F234165473E@microsoft.com...
> > Greetings.
> >
> > I have a cgi which writes "404 2 1260" to the IIS 6.0 logfile. I'm
> running
> > Windows 2003 Server.
> > I've added a web extension and pointed it to the perl5.8.4 exe. When
> adding
> > the extension I specified the pathname to the exe as
> > C:\Program Files\DDE\Perlbin\perl5.8.4.exe "%s" %s
> > (I used an example from a previouis forum post for the variable syntax.)
> >
> > Any suggestions on how to correctly specify the webextension would be
> > appreciated.
> >
> > Thanks.
> >
> > alan
> >
> >
> >
>
>
>