2012-09-06 37 views
6

मैं जावा के wsimport के साथ आईबीएम तर्कसंगत अनुप्रयोग डेवलपर द्वारा उत्पन्न क्लाइंट स्टब्स की तुलना कर रहा हूं और ध्यान देता हूं कि आईबीएम आरएडी एक अतिरिक्त वर्ग उत्पन्न करता है जो SOAPProxy वर्ग है। यह वर्ग वेब सेवा के यूआरएल की सेटिंग की अनुमति देता है।wsimport से SoapProxy कैसे उत्पन्न करें?

मैं जावा के wsimport में SOAPProxy क्लास कैसे उत्पन्न कर सकता हूं? क्या आईबीएम आरएडी का वाइसपोर्ट और जावा का वही आयात है?

  • ObjectFactory.java
  • package-info.java
  • WSCalculator_Service.java
  • WSCalculator.java
  • WSCalculatorRequest.java:

    नीचे आईबीएम रेड द्वारा उत्पन्न वर्ग हैं

  • WSCalculatorResponse.java
  • WSCalculatorSOAPProxy.java - यह जावा के wsimport पर उत्पन्न नहीं होता है। जावा के wsimport का उपयोग करके मैं इसे कैसे उत्पन्न कर सकता हूं?
+0

आरएडी का कौन सा संस्करण आप उपयोग कर रहे हैं? आप कोड कैसे बना रहे हैं - क्या आप संलग्न ईएआर प्रोजेक्ट पर "तैनाती के लिए तैयार" का उपयोग कर रहे हैं? आप और कुछ और कर रहे हैं? – Isaac

उत्तर

0

प्रत्येक उपकरण (JBoss WS, wsimport, अपाचे CXF, रेड, आदि) है कि एक डबल्यूएसडीएल से कक्षाओं उत्पन्न करता है यह करता है कुछ अलग ढंग से और वे नहीं सभी करते हैं एक ही वर्गों उत्पन्न है, हालांकि वे आम तौर पर इसी तरह के हैं। लेकिन आपके स्वयं के यूआरएल की आपूर्ति करने का एक तरीका होगा जो डब्लूएसडीएल को इंगित करता है। मैं रेड से परिचित नहीं हूँ और यह कैसे वेब सेवाओं को उत्पन्न करता है, लेकिन मेरा अनुमान है WSCalculator_Service वर्ग एक निर्माता को एक ऐसे URL तर्क लेता है कि होगा:

WSCalculator_Service service = new WSCalculator_Service(new URL("http://www.domain.com/ws/file.wsdl")); 
WSCalculator port = service.getWSCalculatorPort(); 
port.callWebService(param1, param2, ...); 

कभी कभी निर्माता कि लेता है एक यूआरएल भी एक QName की आवश्यकता है। मैं स्रोत में देखता हूं और क्यूएनएएम की प्रतिलिपि बनाता हूं जो इसका उपयोग कर रहा है।

0

आरएडी 9.1 में जब आप वेब सेवा क्लाइंट पॉप अप विज़ार्ड में "क्लाइंट प्रकार:" के लिए "जावा प्रॉक्सी" चुनते हैं, तो यह प्रॉक्सी कोड भी बनाता है। RAD के साथ शामिल wsimport.exe कमांड लाइन के माध्यम से प्रॉक्सी कोड नहीं प्रतीत होता है।