أصبح تطبيق WebService أكثر فأكثر. يقدم ما يلي عدة طرق لتطوير خدمة ويب في نظام Java ، وهو ما يعادل سجل.
1.Axis2
Axis هو مكون تطوير WebService التالي مفتوح المصدر في Apache. بدا الأمر مبكرًا نسبيًا وناضجًا. نحن هنا نقدم بشكل رئيسي تطوير محور+Eclipse WebService. بالطبع ، يمكنك تطوير ونشر خدمة WebService بدون Eclipse ، ولكن سيكون أكثر ملاءمة لاستخدام Eclipse.
(1) قم بتنزيل إصدار Java EE من Eclipse //www.vevb.com/softs/239903.html#down
(2) تنزيل AXIS2 http://axis.apache.org/axis2/java/core/download.cgi
(3) قم بتنزيل المكون الإضافي AXIS2 من Eclipse
AXIS2_CODEGEN_WIZARD
AXIS2_Service_archiver
http://axis.apache.org/axis2/java/core/tools/index.html
موصى به لاستخدام الإصدار 1.3
(4) Eclipse لتثبيت المكون الإضافي Axis2
1) قم بإنشاء مجلد AXIS2 جديد في أي دليل ، وإنشاء دليل Eclipse جديد ضمن هذا المجلد ، وإنشاء دليل إضافي جديد ودليل ميزات في دليل Eclipse ، مثل: D:/Programsoftware/Eclipse-SVN/AXIS2/Eclipse ؛
2) قم بفك ضغط المكون الإضافي AXIS2 الذي تم تنزيله ووضع الملف المضغوط في دليل الإضافات من Eclipse تم إنشاؤه حديثًا ؛
3) إنشاء دليل روابط جديد ضمن دليل ٪ Eclipse_home ٪ ، وإنشاء ملف Axis2.Link جديد في دليل الروابط ، مع المحتوى: path = d:/programsoftware/eclipse-svn/axis2 ؛
4) إعادة تشغيل Eclipse وانقر فوق ・ ملف جديد. إذا رأيت AXIS2 Wizards ، فهذا يعني أن المكون الإضافي يتم تثبيته بنجاح.
(5) تثبيت AXIS2
قم بتنزيل توزيع الحرب لـ AXIS2 وقم بإلغاء ضغطه ، ضع حزمة AXIS2.WAR تحت ٪ TOMCAT_HOME ٪/WebAPPS ، وبدء TOMCAT ، وزيارة http: // localhost: port/AXIS2 ، و AXIS2 تم تثبيته بنجاح.
(6) استخدم Eclipse لإنشاء مشروع ويب جديد وإنشاء فئة Java عادية ، بما في ذلك طريقة واحدة على الأقل.
(7) نشر خدمة ويب
1) انقر فوق ملف جديد في Eclipse ، وفتح Axis2 Wizards ، وتحديد Axis2 Service Archiver ، ثم التالي ؛
2) حدد موقع ملف الفئة ، أي مسار تخزين ملف الفئة. ملاحظة: فقط حدد دليل الفئات ، ولا تقم بتضمين مجلد الحزمة ، ثم التالي ؛
3) حدد تخطي WSDL ثم بعد ذلك
4) انتقل بجانب تحديد ملف الخدمة XML ليتم تضمينه في أرشيف الخدمة ، وتحقق من إنشاء Theservice XML تلقائيًا ؛
5) ملء تسمية الخدمة في اسم خدمتك ، وملء اسم الفصل في اسم الفصل ، بما في ذلك اسم الحزمة ، ثم انقر فوق تحميل ، ثم انقر فوق "إنهاء". في هذا الوقت ، سيتم نشر خدمة WebService بنجاح ؛
6) ثم انتقل إلى ٪ TOMCAT_HOME ٪/WebAPPS/AXIS2/WEB-INF/Services لمعرفة ما إذا كان هناك ملف .AAR إضافي ؛
7) قم بزيارة http: // localhost: 8085/axis2/services/class name؟ wsdl لمشاهدة ملف WSDL الذي تم إنشاؤه.
ملاحظة: الطريقة أعلاه هي نشرها على حزمة AXIS2.WAR. يمكنك أيضًا نسخ ملف .Aar الذي تم إنشاؤه إلى تطبيقك الفعلي. في الوقت نفسه ، يمكنك أيضًا استخدام وظيفة إنشاء موقع الويب الخاص بـ Eclipse لنشر موقع الويب الخاص بك. حدد AXIS2 لإنشاء موقع الويب الخاص بك ، بحيث سيتم نشر موقع الويب في طلبك.
2.APCHE CXF
إن CXF Development Webservice مريحة وبسيطة نسبيًا ، ويمكن القول أن دمجه مع الربيع جيدًا للغاية. دعنا نأخذ مثالًا على خدمة Webservice لتطوير CXF.
1) إنشاء مشروع ويب جديد في Eclipse واستيراد حزم التبعية.
2) اكتب واجهة ، مثل:
اختبار السلسلة العامة (webParam (name = "value" ، targetNamesPace = "http://service.cxf.zcl.com/" ، mode = webparam.mode.in) قيمة السلسلة) ؛
ملاحظة: في خدمة الويب التي تم تطويرها بواسطة CXF ، يجب أن تكون معلمات الأساليب في الواجهة بهذه الطريقة ، وإلا فلن يتلقى خادم CXF قيمة المعلمة عندما يتصل العميل بها. الاسم: اسم المعلمة ، لا تكتبه (الموصى به لكتابته) ، مساحة الهدف: مساحة الاسم ، يجب ملءها. الافتراضي هو الترتيب العكسي لاسم الحزمة ، الوضع: نوع المعلمة ، في الإدخال.
3) كتابة فئة التنفيذ وتنفيذ طريقة الواجهة ؛
4) الاندماج مع الربيع ، اكتب ملف فول ، مثل: cxf beans.xml ، مع المحتوى التالي:
<؟ xmlns: jaxws = "http://cxf.apache.org/jaxws" xsi: schemalocation = "http://www.springframework.org/schema/spring-beans.xs http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd "> <import resource =" classpath: meta-inf/cxf/cxf.xml "/> Resource = "classpath: meta-inf/cxf/cxf-servlet.xml"/> <jaxws: endpoint id = "pott" eveldor = "com.zcl.cxf.service.voteimpl
هذا الملف أسهل في الفهم ، لذلك لن أشرح ذلك.
5) تكوين CXFServlet
تكوين cxfservlet في ملف web.xml وتحميل ملف cxf-beans.xml ، مع المحتوى التالي:
<web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "id =" webapp_id "الإصدار =" 2.5 " <Nistener> <stanker-class> org.springframework.web.context.contextLoaderListener </stanterer-class> </stanker> <stervlet> <Servlet-Name> <Load-on-startup> 1 </load-on-startup> </stervlet> <Servlet-mapping> <Servlet-Name> cxf </servlet-name> <Url-pattern>/services/*</url-pattern> </rectlet-mapping> </web-app>
نشر المشروع إلى الوسيطة ، مثل Tomcat ، ويمكنك الوصول إلى خدمة موقع الويب.
3.JDK Development Webservice
1) اكتب فئة جافا على النحو التالي:
حزمة العرض التوضيحي ؛ استيراد javax.jws.webparam ؛ استيراد javax.jws.webservice ؛ استيراد javax.xml.ws.endpoint ؛ @webservice الفئة العامة jdkwebservice {public string dosomething (webParam (name = "value" ، targetNamesPace = "http: // demo/" ، mode = webparam.mode.in) قيمة السلسلة) {return " } Main static void Main (string [] args) {endpoint.publish ("http: // localhost: 8080/jdkwsdemo/demo.jdkwebservice" ، new jdkwebservice ()) ؛ }} 2) قم بتشغيل فئة Java ويمكنك الوصول إلى خدمة الويب على المتصفح.
ملاحظة: هذه الطريقة ليست ودية للغاية عند تطوير هندسة الويب. يمكننا كتابة فئة Servlet ونشر خدمة ويب في طريقة التهيئة لفئة Servlet ، بحيث يساعدنا خادم الوسيطة تلقائيًا في البدء.
3) Xfire
هناك العديد من الأطر لتطوير خدمة الويب ، ولكل إطار ميزاته الخاصة. في الآونة الأخيرة ، استخدمت XFire لممارسة تطوير WebService. فيما يلي مثال صغير على تطوير خدمة الويب. آمل أن يكون ذلك مفيدًا لأولئك الذين بدأوا.
1. قم بإنشاء مشروع جديد على الويب Java يسمى TestWebService ، أضف حزم جرة متعلقة بـ XFIR
حزمة com.lamp.service ؛ الواجهة العامة Messageservice {public string getName (اسم السلسلة) ؛ } حزمة com.lamp.service ؛ الواجهة العامة Messageservice {public string getName (اسم السلسلة) ؛ } فئة التنفيذ
حزمة com.lamp.service.impl ؛ استيراد com.lamp.service.messageservice ؛ رسائل الفئة العامة تنفذ Messageservice {public string getName (اسم السلسلة) {return "hellow" + name + "، مرحبًا بك في WebService World" ؛ }} حزمة com.lamp.service.impl ؛ استيراد com.lamp.service.messageservice ؛ رسائل الفئة العامة تنفذ Messageservice {public string getName (اسم السلسلة) {return "hellow" + name + "، مرحبًا بك في WebService World" ؛ }} قم بإنشاء مجلد جديد meta-inf في دليل SRC ، ثم قم بإنشاء مجلد جديد XFire تحتها ، وإنشاء خدمات تكوين جديدة. xml في دليل XFIRE
<؟ <EveloperationClass> com.lamp.service.impl.MessageserviceImpl </evelopmentationclass> </rends> </bans> <؟ <SreviceClass> com.lamp.service.messageservice </secticeClass> <EversileClass> com.lamp.service.impl.MessageserviceImpl </eversionclass> </rends> </beans>
أخيرًا ، قم بتكوين Servlet's Xfire في web.xml
<Sradlet> <Sradlet-Name> Xfireservlet </rectlet-name> <Servlet-Class> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <Servlet-mapping> <Url-pattern>/servlet/xfireservlet/*</url-pattern> </rectlet-mapping> <stervlet-mapping> <Sradlet-Name> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <Sradlet mapping> <Servlet-Name> <Sradlet-Name> Xfireservlet </servlet-name> <url-pattern>/services/*</url-pattern> </revlet-mapping>
بعد نشر المشروع ، يمكنك رؤية واجهة الوصول عن بُعد في المتصفح من خلال http: // localhost: 8080/testWebService/Services ، والحصول
وبهذه الطريقة ، تم الانتهاء من تطوير الخادم ، والآن بدأ تطوير العميل
قم بإنشاء مشروع جديد Java وأيضًا تقديم الجرار المتعلقة بـ XFIRE. أستخدم ANT لإنشاء كائنات وكيل على العميل ، وإنشاء بناء جديد. xml ضمن مسار المشروع ، والرمز هو
<؟ default = "gen-webservice"> <property file = "build.properties"> </property> <path id = "project-classpath"> <fileset dir = "$ {lib.dir}"> <supture name = "**/*. jar"/> </filetet> </path> className = "org.codehaus.xfire.gen.wsgentask" classpathref = "project-classpath"/> <wsgen outputdirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" package = "com.lamp.ws.client" <؟ default = "gen-webservice"> <property file = "build.properties"> </property> <path id = "project-classpath"> <fileset dir = "$ {lib.dir}"> <supture name = "**/*. jar"/> </filetet> </path> className = "org.codehaus.xfire.gen.wsgentask" classpathref = "project-classpath"/> <wsgen outputdirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" package = "com.lamp.ws.client" ملف build.properties الذي قدمه هو أيضا في مسار المشروع
src.dir = $ {injorir}/src lib.dir = f: /webservice/xfire-1.2.6/lib wsdl.dir = http: // localhost: 8080/testWebService/services/messageservice؟ wsdl حيث تخزن Lib.jar مسار Xfire بالنسبة لي ، قم بتشغيل ANT للحصول على كائن الوكيل
اكتب فئة اختبار
حزمة com.lamp.test ؛ استيراد com.lamp.ws.client.messageserviceClient ؛ استيراد com.lamp.ws.client.messageserviceporttype ؛ الفئة العامة testgetName {public static void main (string [] args) {messageserviceClient msg = new messageserviceClient () ؛ messageserviceportType porttype = msg.getMessageservicehttport () ؛ String Result = porttype.getName ("Zhang San") ؛ System.out.println (نتيجة) ؛ }} حزمة com.lamp.test ؛ استيراد com.lamp.ws.client.messageserviceClient ؛ استيراد com.lamp.ws.client.messageserviceporttype ؛ الفئة العامة testgetName {public static void main (string [] args) {messageserviceClient msg = new messageserviceClient () ؛ messageserviceportType porttype = msg.getMessageservicehttport () ؛ String Result = porttype.getName ("Zhang San") ؛ System.out.println (نتيجة) ؛ }} أثناء تشغيله على وحدة التحكم ، رأيت Hellow Zhang San ، مرحبًا بك في WebService World ، وقد تم الانتهاء من تطوير خدمات الويب البسيطة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.