it goes in map->web->metadata

On Thu, Sep 8, 2011 at 19:48, Mr. Puneet Kishor <punk.k...@gmail.com> wrote:
> a bit more investigation on producing a WMS response via Perl MapScript 
> reveals the following error
>
>  <?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?>
>  <!DOCTYPE ServiceExceptionReport SYSTEM 
> "http://schemas.opengis.net/wms/1.1.0/exception_1_1_0.dtd";>
>  <ServiceExceptionReport version="1.1.0">
>  <ServiceException>
>  msWMSDispatch(): WMS server error. WMS request not enabled. Check 
> wms/ows_enable_request settings.
>  </ServiceException>
>  </ServiceExceptionReport>
>
> So, it seems I have to somehow, somewhere enable 'ows_enable_request'. 
> Looking at the documentation, seems like if I had a map file, I could add the 
> following line to do so
>
>  ows_enable_request '*'
>
> However, I am not using a map file at all. Not finding any documentation on 
> this setting, I tried the following to no avail
>
>  $map->{ows_enable_request} = '*';
>
>
> Suggestions, anyone?
>
>
> On Sep 7, 2011, at 10:18 PM, Mr. Puneet Kishor wrote:
>
>> I would really appreciate insight from someone well-versed in the ins and 
>> outs of WMS via MapScript. Looking at the discussion at 
>> [http://trac.osgeo.org/mapserver/ticket/670], the `img = wms_map.draw()` 
>> step seems to be a crucial part of drawing the image.
>>
>> So, I added `my $img = $map->draw();` to my code below, and indeed, the 
>> image was drawn and sent back to the browser.
>>
>> Is this something that should be added to the examples in the documentation? 
>> Is this the right way to do things? In any case, I am not write to STDOUT, 
>> and sending the buffer directly. Instead, my code is very much like a 
>> regular request (and it works) --
>>
>>    my $new_extent = $map->{extent};
>>
>>    my $req = new mapscript::OWSRequest();
>>    $req->setParameter( "SERVICE", "WMS" );
>>    $req->setParameter( "VERSION", "1.1.0" );
>>    $req->setParameter( "REQUEST", "GetMap" );
>>    $req->setParameter( "BBOX", "-180,-90,180,90" );
>>    $req->setParameter( "LAYERS", "layer_name");
>>    $req->setParameter( "SRS", "-1");
>>    $req->setParameter( "WIDTH", "1200");
>>    $req->setParameter( "HEIGHT", "600");
>>
>>    my $dispatch_out = $map->OWSDispatch( $req );
>>    my $img = $map->draw();
>>    my $map_img = 'test_' . sprintf("%0.10d", rand(1000000000)) . '.png';
>>    $img->save("/path/to/$map_img");
>>    return send_file("/path/to/$map_img");
>>
>>
>> Comments? Corrections?
>>
>>
>> On Sep 7, 2011, at 6:12 PM, Mr. Puneet Kishor wrote:
>>
>>>
>>> On Sep 7, 2011, at 5:49 PM, Mr. Puneet Kishor wrote:
>>>
>>>> I am trying to convert my MapScript program to a WMS responder. I create 
>>>> my $map where I set all the layers and classes and colors, etc, just like 
>>>> for a normal, non-WMS request that works perfectly correctly.
>>>>
>>>> my $map = undef;
>>>> $map = mapObj(name => 'mymap') unless defined $map;
>>>>
>>>> my $req = new mapscript::OWSRequest();
>>>> $req->setParameter( "SERVICE", "WMS" );
>>>> $req->setParameter( "VERSION", "1.1.0" );
>>>> $req->setParameter( "REQUEST", "GetCapabilities" );
>>>
>>> I changed the above line to
>>>
>>>  $req->setParameter( "REQUEST", "GetMap");
>>>
>>> but, still no improvement.
>>>
>>>
>>>>
>>>> mapscript::msIO_installStdoutToBuffer();
>>>> my $dispatch_out = $map->OWSDispatch( $req );
>>>> printf "%s\n", mapscript::msIO_getStdoutBufferString();
>>>>
>>>> Except, the above doesn't really do anything for me. I get nothing in my 
>>>> browser. Suggestions?
>>>>
>>>>
>>>> --
>>>> Puneet Kishor
>>>
>>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to