أكثر

WFS عبر Geoserver - مشاكل الوكيل أو MapDocument؟


أجد صعوبة في الحصول على تراكب WFS من الخادم الجغرافي للعمل. أعتقد أنني استوفيت جميع متطلبات WFS ليتم عرضها في خريطتي ، ولكن يبدو أن الطلب عالق في مكان ما ... يعطي FireBug رسالة الخطأ:

تم رفض الوصول إلى "رمز" URI المقيد: 1012 http://www.openlayers.org/api/OpenLayers.js Line 1188

بينما يحتوي الخط 1188 على ما يلي:

this._object.send (vData)؛ if (bGecko &&! this._async) {this.readyState = cXMLHttpRequest.OPENED؛ fSynchronizeValues ​​(هذا) أثناء (this

تعمل التطبيقات بأكملها على مضيف محلي ، لقد قمت بتثبيت خادم ويب Apache وقمت بتكوين وكيل حيث تم التوصية بذلك في معظم المواضيع المتعلقة بتشغيل WFS على المضيف المحلي. لقد استخدمت proxy.cgi من http://trac.osgeo.org/openlayers/browser/trunk/openlayers/examples/proxy.cgi وسمحت بالوصول لـ 'localhost' و 'localhost: 80' و 'localhost: 8080'same مع IP الخاص بي (IP ، IP: 80 ، IP: 8080).

عندما أقوم بزيارة localhost / cgi-bin / proxy.cgi ، أرى صفحة OpenLayers لذا يجب أن تعمل! يبدو متغير WFS الخاص بي كما يلي:

var wfs = new OpenLayers.Layer.Vector ("WFS"، {Strategies: [new OpenLayers.Strategy.Fixed ()]، Protocol: new OpenLayers.Protocol.WFS ({version: "1.1.0"، url: "http : // localhost: 8080 / geoserver / wfs "، featurePrefix:" workspacename "، featureType:" layername "، featureNS:" http: // lvr "، [جربت كثيرًا ، أليس من الضروري أن يكون عنوان URL موجودًا ، أليس كذلك؟ ] srsName: "EPSG: 4326" ، geometryName: "the_geom"})}) ؛

ثم أضع

OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi؟url="؛

هل هذا كامل وأين أضعه في مستند الخريطة؟ يمكن لأي شخص أن يساعد؟ لقد جربت الكثير من الخيارات ، ولم يساعدك شيء حقًا ولكن يبدو أنها مشكلة تتعلق بالاتصال / الأمان وليست شيئًا ما متعلقًا بنص الخريطة نفسه ... هل أحتاج بالضرورة إلى متغير تنسيق أو موقع مخطط أو خريطة نمط؟ أي شيء مهم آخر مفقود؟


تحديث من التعليقات:

يمكنني فتحه والكتابة المضيف المحلي: 8080 / map.html... وعندما فعلت ذلك للتو ، ظهرت بيانات WFS!

لا أستطيع أن أصدق ذلك - لقد قمت للتو بالوصول إلى لغة تأشير النص الفائق خطأ ؟! مبتدئين خطأ. شكرا geographika ...


الحل السريع الذي يتجنب الحاجة إلى وكلاء أثناء الاختبار هو وضع صفحات الويب الخاصة بك في دليل www بدليل بيانات GeoServer. سيتم بعد ذلك تقديم الصفحة من خلال نفس المنفذ والمضيف مثل WFS الخاص بك وستعمل جميعها بشكل جيد.

في النهاية ، ستحتاج إلى وكيل إذا (وفقط إذا) قمت بنقل صفحات الويب إلى مكان آخر.


يشير الخطأ إلى مشكلة عبر النطاقات.

كيف تقوم بالوصول إلى موقعك؟ من خلال http: // localhost: 80 أو http: // localhost: 8080؟ وأين يتم استضافة وكيلك؟ يجب أن يتطابق مع موقع وميناء موقعك.

أنت تقول أنك تقوم بتشغيل التطبيق محليًا ، لكن رسالة FireBug تشير إلى أنك تستخدم OpenLayers Javascript المستضافة على: http://www.openlayers.org/api/OpenLayers.js

البديل هو تنزيل ملفات JavaScript و CSS واستضافتها بنفسك من http://openlayers.org/download/

ومع ذلك ، لا ينبغي أن يحدث هذا فرقًا.