Alex,

pay attention that the CartoWeb SOAP documentation may be quite outdated according to this bugreport:
http://bugzilla.maptools.org/show_bug.cgi?id=1513

AS

---------- Forwarded message ----------
From: *Alex Kuznetsov* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
Date: Jul 27, 2006 12:39 PM
Subject: Re: [Cartoweb-users] SOAP bbox request
To: Damien Corpataux <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>

Damien -

Thanks again for your reply... we appreciate your time and any clues you can provide.

We are beginners with CartoWeb and are definitely interested in CartoClient only at this stage. However, we would like to add a search function to locate property parcels based on various criteria and have the map zoom in to the parcel. Our parcel attribute and spatial data is stored in PostGIS. We thought the PHP code was the only way to do this, but as you can see, there are a few "loose ends".

Our project is described to some degree at the following URLs:

http://www.webgisdev.com/webgis/6apro.htm - phase 1
http://www.webgisdev.com/webgis/6bpro.htm - phase 2

Thanks
- Alex



On 7/27/06, *Damien Corpataux* < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Alex,

    we try provide the users with clues on what's going on as much as
    possible. By the way, do you plan to use CartoWeb as a Web Service
    (using the Cartoserver only, writing your own client, a huge task),
    or do you plan to use the PHP client (the Cartoclient), packaged
    with CartoWeb?

    I recommend you use the Cartoclient and create a project with your
    own data (it this is what you want).

    Damien




    Alex Kuznetsov wrote:

    Damien,

    Thank you for your reply.

    We got the SOAP request directly from the CartoWeb Documentation
    (page 148)... please do not assume we know what we are doing ;o)

    We assumed that
    http://localhost/cartoserver.wsdl.php?mapId=ybaranav1 is the
    proper substitution for the example URL given on the same page.
    How can we check that it is accessible?

    BTW, this project is being completed over the next two weeks by 68
    GIS Specialist students here at Fleming College in Ontario... so
    we ALL appreciate any further assistance you can provide.

    Thanks again
    - Alex



    On 7/26/06, *Damien Corpataux* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:

        Hi,

        manually building a SOAP request is rather unusual, but I
        assume you know what you're doing and why you're doing it. At
        this point, I would check that the ressource
        http://localhost/cartoserver.wsdl.php?mapId=ybaranav1 is
        accessible from your php script.

        Damien



        Alex Kuznetsov wrote:
        We are working on a college MapServer project with CartoWeb...
        is a great productive tool.
        As a final task, we are trying to add functionality to search
        for an individual parcel and zoom
        to it on the map. We are able to retrieve the coordinates from
        our PostGIS database but can't get
        the SoapClient working and can't figure out how to integrate
        this function with the rest of CartoWeb...
        i.e. do we have to add/extend a plug-in?

        Our third attempt is pasted below. Note the ERROR above the
        offending line.

        Any help greatly appreciated
        - Tony Bonnici, Alex Kusnetsov

        -------------

        <html>
         <head><title>Parcel Locator</title>
         </head>

         <body>

         <?php

          $dbcon = pg_connect("dbname=webproj6 user=postgres
        host=localhost password=postgres");

          if ($dbcon == 0) die("connection to WebProj6 PostgreSQL DB
        failed");

          $query = 'SELECT astext(envelope(the_geom)) FROM poly_parcel
        where GID = 5000' ;

          $result = pg_query($query) or die('Query failed [' . $query
        . '] with error: ' . pg_last_error());

          while ($line = pg_fetch_array($result, null, PGSQL_ASSOC))
          {
            foreach ($line as $col)
              list($j1, $j2, $x1, $y1, $xj, $yj, $x2, $y2) = split('[(
        ,]', $col) ;
          }

          pg_free_result($result);
          pg_close($dbcon);

          $x1 -= $margin ;
          $y1 -= $margin ;
          $x2 += $margin ;
          $y2 += $margin ;

        // ERROR ON NEXT LINE: Warning: SoapClient::__construct() [
        function.SoapClient---construct]:

        // I/O warning : failed to load external entity "
        http://localhost/cartoserver.wsdl.php?mapId=ybaranav1";

        // in C:\wamp\www\cartoweb3\projects\ybaranav1\parloc2.php on
        line 41



          $client = new SoapClient("
        http://localhost/cartoserver.wsdl.php?mapId=ybaranav1
        <http://localhost/cartoserver.wsdl.php?mapId=ybaranav1>");

          $request->mapId = 'ybaranav1';

          $request->imagesRequest->className = 'ImagesRequest';
          $request->imagesRequest->mainmap->isDrawn = true;
          $request->imagesRequest->mainmap->path = '';
          $request->imagesRequest->mainmap->width = 500;
          $request->imagesRequest->mainmap->height = 500;
          $request->imagesRequest->mainmap->format = '';

          $request->imagesRequest->keymap->isDrawn = true;
          $request->imagesRequest->keymap->path = '';
          $request->imagesRequest->keymap->width = 224;
          $request->imagesRequest->keymap->height = 150;
          $request->imagesRequest->keymap->format = '';

          $request->imagesRequest->scalebar->isDrawn = true;
          $request->imagesRequest->scalebar->path = '';
          $request->imagesRequest->scalebar->width = 350;
          $request->imagesRequest->scalebar->height = 3;
          $request->imagesRequest->scalebar->format = '';

          $request->layersRequest->className = 'LayersRequest';
          $request->layersRequest->layerIds = array('Parcel','Buildings');

          $request->layersRequest->resolution = null;

          $request->locationRequest->className = 'LocationRequest';
          $request->locationRequest->locationType = 'bboxLocationRequest';
          $request->locationRequest->bboxLocationRequest->bbox->minx =
        $x1 ;
          $request->locationRequest->bboxLocationRequest->bbox->miny =
        $y1 ;
          $request->locationRequest->bboxLocationRequest->bbox->maxx =
        $x2 ;
          $request->locationRequest->bboxLocationRequest->bbox->maxy =
        $y2 ;

          try
          {
            $result = $client->getMap($request);
            print_r($result);
          }
          catch (SoapFault $fault)
          {
            print $fault->faultstring;
          }

        ?>

        </body>
        </html>

------------------------------------------------------------------------

_______________________________________________
Cartoweb-users mailing list



Cartoweb-users@lists.maptools.org <mailto:Cartoweb-users@lists.maptools.org>


http://lists.maptools.org/mailman/listinfo/cartoweb-users






------------------------------------------------------------------------

_______________________________________________
Cartoweb-users mailing list
Cartoweb-users@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/cartoweb-users
_______________________________________________
Cartoweb-users mailing list
Cartoweb-users@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/cartoweb-users

Reply via email to