سؤال

أقوم بتطوير خدمات ويب جافا (JAX-WS) لإدراج البيانات في قاعدة بيانات MySQL واسترجاعها.تحتوي خدمة الويب هذه على طريقتين.fetchFromDB وinsertIntoDB.يبدو أن الخدمات تعمل بشكل جيد عندما أقوم باختبارها باستخدام netbeans IDE.

Address: /CalculatorWSService
WSDL:    /CalculatorWSService?wsdl

ولكن عندما أحاول الوصول إليه باستخدام كائن xmlHttpRequest الخاص بـ AJAX من خلال توفير عنوان url http://localhost:8080/CalculatorApp/CalculatorWSService.ولا يستطيع الوصول إليه.لقد قمت بتطوير خدمات ويب C# وكان من السهل جدًا الوصول إليها باستخدام عنوان url ولكن يبدو أن خدمات ويب Java لا تتبع ذلك.

سؤالي هو

ما عنوان url الذي يجب استخدامه للوصول إلى عمليات خدمة الويب في AJAX؟(هل أحتاج إلى استخدام "؟ wsdl" في عنوان url؟هل توجد مكتبة جافا سكريبت اياكس للوصول بسهولة إلى خدمات الويب JAX-WS؟هل تعد خدمات الويب Apache Axis خيارًا أفضل من JAX-WS؟الرجاء مساعدتي، شكرا، جاي

هل كانت مفيدة؟

المحلول

كنت أواجه نفس مشكلتك، ولم أتمكن من استدعاء خدمة ويب Jax-ws من Javascript، لكنني وجدت طريقة للقيام بذلك.

يمكن أن يكون عنوان URL الذي سيتم استخدامه هو نفسه (EndPointAddress) "http://localhost:8080/CalculatorApp/CalculatorWSService"

ولكن عند إنشاء كائن XMLHttpRequest من جافا سكريبت، يجب عليك:

* استخدم طريقة POST لفتح عنوان URL، لقد حاولت باستخدام GET ولكن لم ينجح الأمر بالنسبة لي.
* قم بتعيين رأس طلب SOAPAction على ذلك الموجود في wsdl الخاص بك، حتى لو كان فارغًا "".
* كن حذرًا جدًا مع نص الطلب الذي يجب إرساله، ويجب أن يكون مظروف الصابون صحيحًا.

نأمل أن يكون هذا يمكن أن تساعدك!.

الوداع.
بول مانجارس.

نصائح أخرى

من وجهة نظر العميل، لم أكن أتوقع فروق ذات دلالة إحصائية بين المحور وJAX-WS. يجب أن يكون كل شيء على احتياجات العميل في WSDL.

والشيء الوحيد الذي يحدث أحيانا هو أن URL تستخدم عند تطوير خدمة ويب يحيل الى المضيف develpoment وميناء (وربما حتى ContextRoot) عندما نشر على خادم معين أي من تلك يمكن تغييره. ومن الناحية المثالية يمكن إنشاء اختصار جديد مع المعلومات "ملزمة" جديدة.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top