<HTML><HEAD>
<META content="text/html; charset=iso-8859-15" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18928"></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>I am wanting to access a WFS data service outside our company's network, and I have been having trouble trying to get my proxy to work through our firewall. One possible solution is to use Cross Domain JSON to get around this. The WFS server I want to access can return JSON wrapped in a callback function if requested, by appending: &amp;outputFormat=json&amp;format_options=callback:myCallback to the URL.</DIV>
<DIV>&nbsp;</DIV>
<DIV>(refer to these articles: <A href="http://snook.ca/archives/javascript/cross_domain_aj">http://snook.ca/archives/javascript/cross_domain_aj</A></DIV>
<DIV>&nbsp;and<BR><A href="http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html">http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html</A></DIV>
<DIV>for a description of the technique).</DIV>
<DIV>&nbsp;</DIV>
<DIV>Has anyone managed to get this to work with OpenLayers?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Here is my WFS code:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; var parwfs = new OpenLayers.Layer.Vector("WFS Parcels", {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strategies: [new OpenLayers.Strategy.BBOX()],<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protocol: new OpenLayers.Protocol.HTTP({<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url: "<A href="http://wfs.data.linz.govt.nz/MYKEY/wfs">http://wfs.data.linz.govt.nz/MYKEY/wfs</A>",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; headers: {"Content-Type": "plain/text"},<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; params: {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version: "1.0.0",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service: "WFS",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; request: "GetFeature",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //srsName: "EPSG:2193",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxfeatures: "5",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename: "x823",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outputFormat: "json",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format_options: "callback:getGeo"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format: json_format<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; projection: new OpenLayers.Projection("EPSG:4326"), <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style: {strokeColor: "green", strokeWidth: 2, strokeOpacity: 0.5},<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; minScale: 50000,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; visibility: false<BR>&nbsp;&nbsp;&nbsp; });<BR>&nbsp;&nbsp;&nbsp; map.addLayer(parwfs); </DIV>
<DIV>&nbsp;</DIV>
<DIV>How would I handle the sending to avoid it using XMLHttpRequest? And what about passing the response to a the callback function?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Robert Sanson</DIV>
<DIV>&nbsp;</DIV><br><br>
<P align=center><FONT style="BACKGROUND-COLOR: #ffffff">This email and any attachments are confidential and intended solely for the addressee(s). If you are not the intended recipient, please notify us immediately and then delete this email from your system.</FONT></P>

<P align=center><FONT style="BACKGROUND-COLOR: #ffffff">This message has been scanned for Malware and Viruses by Websense Hosted Security.  </FONT><A href="http://www.websense.com/"><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000>www.websense.com</FONT></A></P>
</body></HTML>