[mapserver-users] perl mapscript [SEC=UNCLASSIFIED]

Kralidis,Tom [Ontario] Tom.Kralidis at ec.gc.ca
Thu Dec 4 07:41:09 EST 2008


> -----Original Message-----
> From: mapserver-users-bounces at lists.osgeo.org 
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of 
> Justyna Lubkowski
> Sent: Thursday, 04 December 2008 00:33
> To: Steve Lime; mapserver-users at lists.osgeo.org
> Subject: RE: [mapserver-users] perl mapscript [SEC=UNCLASSIFIED]
> 
> Hi Steve,
> 
> Thanks for your reply and the tar ball with the shapefiles 
> and map file.
> 
> I've tried your map file with the following test script.
> 
> #!/usr/bin/perl
> 
> use mapscript;
> 
> $req = new mapscript::OWSRequest( );
> $req->setParameter( "SERVICE", "WMS" );
> $req->setParameter( "VERSION", "1.1.0" ); $req->setParameter( 
> "REQUEST", "GetCapabilities" );
> 
> $map = new mapscript::mapObj( "minimal_wms.map" );

The mapfile can't be found.  Try changing this line to:

$map = new mapscript::mapObj( "minimal_wms.map" ) or warn "mapfile
error: $!\n";

..and you'll see the error.

Try pointing to the mapfile fullpath?

> 
> $map->OWSDispatch( $req ); 
> 
> The error message I get is:
> Can't call method "OWSDispatch" without a package or object 
> reference at ./minimal_wms.pl line 14.
> 
> I'm pretty sure that setParameter has not set SERVICE, 
> VERSION OR REQUEST.
> 
> Any ideas?
> 
> Cheers - Justyna.
> 
> 
> -----Original Message-----
> From: Steve Lime [mailto:Steve.Lime at dnr.state.mn.us]
> Sent: Tuesday, 2 December 2008 8:24 AM
> To: Justyna Lubkowski; mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] perl mapscript [SEC=UNCLASSIFIED]
> 
> Your mapfile doesn't look to meet the minimum configuration 
> requirements for WMS. For example, there is no projection 
> information defined. I have a minimal WMS config example that 
> I've attached for reference purposes. 
> 
> Steve
> 
> >>> On 11/26/2008 at 6:49 PM, in message
> <29237876E2F56546975A098DC25F3D4A030AA211 at officeho2.bom.gov.au>,
> "Justyna Lubkowski" <J.Lubkowski at bom.gov.au> wrote:
> > Hi,
> >  
> > I'm hoping someone can help, I've been trying to get Perl 
> mapscript to
> 
> > work using a couple of examples from the "MapScript 
> wrappers for WxS 
> > Services" page http://mapserver.gis.umn.edu/docs/howto/wxs_mapscript
> >  
> > Using python mapscript it works, when I run it on the 
> command line I 
> > get xml output, however if I try doing the same using perl 
> mapscript I
> 
> > get no xml output on the command line, I get errors telling 
> me that I 
> > cannot set the SERVICE, VERSION or REQUEST parameters.  
> I've included 
> > the python and perl scripts and their respective map files 
> below.  If 
> > I  try using $req->loadParams() in the script, and pass the same 
> > parameters as part of the query string, then do a wget I get a zero
> length file.
> >  
> > Am I doing something wrong?  Or is there a bug in perl mapscript?
> >  
> > Cheers - Justyna.
> >  
> > ===========================================
> > #!/usr/bin/python
> >  
> > import mapscript
> >  
> > req = mapscript.OWSRequest()
> > req.setParameter( 'SERVICE', 'WMS' )
> > req.setParameter( 'VERSION', '1.1.0' ) req.setParameter( 'REQUEST', 
> > 'GetCapabilities' )
> >  
> > map = mapscript.mapObj( 'test.map' )
> > map.OWSDispatch( req )
> > ===========================================
> >  
> > with the following map file
> >  
> > ===========================================
> > MAP
> >   SIZE 600 300
> >   EXTENT -180 -90 180 90
> >   IMAGECOLOR 180 180 250
> >   IMAGETYPE PNG
> >  
> >   UNITS DD
> >   WEB
> >     IMAGEPATH "/html/tmp/wms"
> >     IMAGEURL "/tmp/"
> >     METADATA
> >     OWS_ONLINERESOURCE "http://servername/test.py"
> >     END
> >   END
> >  
> >   LAYER
> >     NAME  "coast_polygon"
> >     TYPE  POLYGON
> >     STATUS DEFAULT
> >     DATA coast
> >     CLASS
> >       COLOR 231 220 189
> >       OUTLINECOLOR 198 134 0
> >       NAME "Coast "
> >     END
> >   END
> > END
> > ===========================================
> >  
> > I get the following errors using perl mapscript:
> > cannot set wms parameter  at ./test3.pl line 6.
> > cannot set version parameter  at ./test3.pl line 7.
> > cannot set request parameter  at ./test3.pl line 8.
> >  
> > ===========================================
> > #!/usr/bin/perl -w
> >  
> > use mapscript;
> >  
> > $req = new mapscript::OWSRequest() or die "no request";
> > $req->setParameter('SERVICE','WMS') or warn "cannot set wms 
> parameter 
> > $!";
> > $req->setParameter('VERSION','1.1.1') or warn "cannot set version 
> > parameter $!";
> > $req->setParameter('REQUEST','GetCapabilities') or warn "cannot set 
> > request parameter $!";
> >  
> > $map = new mapscript::mapObj("test3.map") or die "no object";
> >  
> > $map->OWSDispatch( $req ) or die "cannot dispatch"; 
> > ===========================================
> >  
> > and its mapfile is
> >  
> > ===========================================
> > MAP
> >   SIZE 600 300
> >   EXTENT -180 -90 180 90
> >   IMAGECOLOR 180 180 250
> >   IMAGETYPE PNG
> >  
> >   UNITS DD
> >   WEB
> >     IMAGEPATH "/html/tmp/wms"
> >     IMAGEURL "/tmp/"
> >     METADATA
> >     OWS_ONLINERESOURCE http://servername/test3.pl 
> >     END
> >   END
> >  
> >   LAYER
> >     NAME  "coast_polygon"
> >     TYPE  POLYGON
> >     STATUS DEFAULT
> >     DATA coast
> >     CLASS
> >       COLOR 231 220 189
> >       OUTLINECOLOR 198 134 0
> >       NAME "Coast "
> >     END
> >   END
> > END
> > ===========================================
> > 
> > 
> > 
> > 
> > 
> >  
> >  
> >  
> >  
> > 
> >  
> >  
> 
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> 


More information about the mapserver-users mailing list