[Users] Printprovider problem

Ralph Dell RDell at CatawbaCountyNC.gov
Wed May 4 15:50:03 CEST 2011


Thank you. I will follow up on that advice.

 

Ralph Dell, GISP

GIS Dept.

Catawba County, NC

 

From: Matt Priour [mailto:mpriour at kestrelcomputer.com] 
Sent: Wednesday, May 04, 2011 9:47 AM
To: Ralph Dell; users at geoext.org
Subject: Re: [Users] Printprovider problem

 

That's because for the print job you are not going through a proxy.
ExtJS doesn't "know" about your OL ProxyHost unless you are using the
ext-override-ajax.js file which is not included by default.

Options                200
text/plain(NS_ERROR_DOM_BAD_URI)
http://demo.opengeo.org/geoserver/pdf/create.json

As you can see from HttpFox, your request is going directly to
demo.opengeo.org but your webpage is hosted at localhost:8080

 

The 2 solutions are:

1. Use ext-override-ajax.js -> it will send all request through OL
rather than ExtJs and will be aware of and use the OL ProxyHost

2. Intercept the actual ExtJs request and modify the url before it is
sent. Here's an example of how I did that:

 

....
 Ext.Ajax.on('beforerequest',App.interceptPrint,null,{single:true});
 App.printProvider.print(mappanel,printPage);
....
 App.interceptPrint = function(conn,options){
  Ext.apply(options,{
   url:Ext.urlAppend(OpenLayers.ProxyHost, Ext.urlEncode(options.url))
  });
  Ext.Ajax.request(options);
  return false;   
 }
/* I also apply my own callback & success functions to handle the print
request response
myself and prevent the PrintProvider from handling it. I include them
after the 'url' property.
However, that is not something you probably want to do, just letting you
know that you can

*/

 

Matt Priour

Kestrel Computer Consulting

 

From: Ralph Dell <mailto:RDell at CatawbaCountyNC.gov>  

Sent: Wednesday, May 04, 2011 7:51 AM

To: users at geoext.org 

Subject: Re: [Users] Printprovider problem

 

I have included my OpenLayers.ProxyHost  statement at the top of  my
script.

 Last week when I was scratching my head I confirmed my proxy was
working by doing some wfs requests opengeo and my production geoserver.
They worked.

I do not know why I am fighting a proxy issue with the printProvider but
in other circumstances I know my proxy is working.

 

Ralph Dell

 

From: Matt Priour [mailto:mpriour at kestrelcomputer.com] 
Sent: Tuesday, May 03, 2011 5:47 PM
To: Ralph Dell; users at geoext.org
Subject: Re: [Users] Printprovider problem

 

... 

The post will work in IE 7 & 8. I do get the message "This page is
accessing information that is not under your control. ... Do you want to
continue"

...

That is because you need a proxy to get around the Same-site Origin
Policy

http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost
<http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHos
t> 

Matt Priour

 

From: Ralph Dell <mailto:RDell at CatawbaCountyNC.gov>  

Sent: Tuesday, May 03, 2011 1:51 PM

To: users at geoext.org 

Subject: [Users] Printprovider problem

 

I have recently installed the geoserver printing module and set up a app
using the PrintProvider. The development went well until I realized that
GET was not going to work for me because of the  URL length. After
changing the method to POST I cannot get the printing to work at all in
firefox. I have taken a step back and am currently testing with a local
copy of the geoext example print-page.html and getting my
printCapabilities from demo.opengeo.org or localhost:8080

 

I believe have a proxy problem but I do not know why, nor how to fix it
. 

 

In config.yaml I have the entries 

- !localMatch

    dummy: true

- !dnsMatch

    host: demo.opengeo.org      I have tested with and without the line
port:80

 

I can load the printCapabilities from opengeo and localhost   

 

After clicking the print button in  HttpFox I see (going to opengeo)

Method               Result                   Type
url

 

Options                200
text/plain(NS_ERROR_DOM_BAD_URI)
http://demo.opengeo.org/geoserver/pdf/create.json

 

I have a similar error from my localhost

 

The BAD_URI error indicates different domain names are being used, but I
do not see that as being the case., and Method Options tells me I have a
proxy issue.

My local test environment is  geoext 1.0,   geoserver 2.0.3 (jetty),
OpenLayers 2.10, extjs 3.3.1, windows XP, and my web server is IIS

 

When going to my localhost after clicking the print button

The printprovider print exception listener response.statusText is
"communication failure"

My geoserver request log has "OPTIONS /geoserver/pdf/create.json
HTTP/1.1" 200 0

My geoserver.log contains DEBUG [geoserver.filters] - filtering
http://localhost:8080/geoserver/pdf/create.json

 

I'm lost. Any suggestions on what I am missing would be appreciated.

 

The post will work in IE 7 & 8. I do get the message "This page is
accessing information that is not under your control. ... Do you want to
continue"

 

Ralph Dell

 

________________________________

_______________________________________________
Users mailing list
Users at geoext.org
http://www.geoext.org/cgi-bin/mailman/listinfo/users

________________________________

_______________________________________________
Users mailing list
Users at geoext.org
http://www.geoext.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20110504/59822484/attachment.htm 


More information about the Users mailing list