मुझे एक डब्ल्यूएस क्लाइंट उत्पन्न करना है और मैं तय करने के लिए प्लगइन तय नहीं कर सकता। अब तक मेरे विकल्प हैं: jaxb2-maven-plugin, axistools-maven-plugin और jaxws-maven-plugin।वेब सेवा क्लाइंट उत्पन्न करने के लिए सबसे अच्छा मैवेन प्लगइन कौन सा है?
उत्तर
I have to generate a WS Client and I can't decide wich plugin to use. Until now my options are: jaxb2-maven-plugin, axistools-maven-plugin and jaxws-maven-plugin.
पहले, jaxb2-maven-plugin
वास्तव में WS ग्राहकों उत्पन्न करने के लिए इरादा नहीं है। सफाया कर दिया।
दूसरा, व्यक्तिगत रूप से I wouldn't use Axis even for client development only इसलिए मैं axistools-maven-plugin
का उपयोग करने की अनुशंसा नहीं करूंगा। सफाया कर दिया।
यह हमें JAX-WS आरआई और अपाचे CXF साथ छोड़ देता है स्टैक्स, और उनके संबंधित Maven प्लगइन्स: JAX-WS Maven Plugincxf-codegen-plugin और (निर्देश JAX-WS Maven प्लगइन Usage पृष्ठ पर पाया जा सकता है का उपयोग करने के लिए)।
पक्ष-विपक्ष के बारे में, मैं उन्हें इस तरह संक्षेप में प्रस्तुत होगा:
- JAX-WS आरआई जावा 6 में शामिल है, लेकिन प्रलेखन अधिक "किसी न किसी" है (हालांकि you'll find plenty of tutorials about JAX-WS RI too)।
- अपाचे सीएक्सएफ बेहतर दस्तावेज है और यदि आप कल्पना से परे जाना चाहते हैं तो अधिक लचीलापन प्रदान करें।
अंत में, दोनों विकल्प सभ्य हैं इसलिए मैं लिंक को थोड़ा सा ब्राउज़ करने और अपनी राय बनाने का सुझाव देता हूं।
[जेएक्स-डब्ल्यूएस मेवेन प्लगइन] (https://jax-ws-commons.java.net/jaxws-maven-plugin/) लिंक बदल गया। – Dormouse
मेरा सुझाव है कि आप लिंक को अपडेट करने के लिए उत्तर संपादित करें। –
चिंता मत करो दोस्तों मुझे मिल गया! – javajavajava
मैं jaxws-maven-plugin का उपयोग करता हूं। मेरी राय में, जेएक्स-डब्ल्यूएस डब्ल्यूएस के लिए डी-फैक्टो मानक कार्यान्वयन है। यह एक्सिस की तुलना में बहुत बेहतर जेनरेट कोड है, और कॉन्फ़िगर और कार्यान्वित करने में आसान है। इसमें मेवेन और स्प्रिंग का समर्थन है।
WSDL फ़ाइल से क्लाइंट-साइड कोड जनरेट कर रहा है, pom.xml में:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-reports-ws-code</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<!-- This property is used to support having multiple <execution> elements. The plugin has, from some reason, only one timestamp file per the all executions, thus if you have two executions, it doesn't know exactly when to recompile the code. Here we tell it explicitly to have one timestamp file per each execution --> <staleFile>${project.build.directory}/jaxws/stale/.staleFlag.reports</staleFile>
<packageName>com.acme.reports.ws.api</packageName>
<wsdlDirectory>${project.build.directory}/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>InternalReportsAPIService.wsdl</wsdlFile>
</wsdlFiles>
<verbose>true</verbose>
<sourceDestDir>${wsdl.generated.source.files.dir}</sourceDestDir>
</configuration>
</execution>
</executions>
</plugin>
(यह नहीं ऑटो उत्पन्न होता है) ग्राहक सेवा सेम बनाने के लिए एक इंटरफेस:
public interface InternalReportsAPIServiceFactory {
public InternalReportsAPIService createInternalReportsAPIService();
}
इसके बीन कार्यान्वयन:
public class InternalReportsAPIServiceFactoryBean implements InternalReportsAPIServiceFactory {
private URL acmeReportsWsdlURL;
private final static QName V1_QNAME = new QName("http://internal.reports.api.acme.net/v1","InternalReportsAPIService");
@Override
public InternalReportsAPIService createInternalReportsAPIService() {
return new InternalReportsAPIService(acmeReportsWsdlURL, V1_QNAME);
}
public void setAcmeReportsWsdlUrl(String acmeReportsWsdlUrl) {
try {
this.acmeReportsWsdlURL = new URL(acmeReportsWsdlUrl);
} catch (MalformedURLException ex) {
throw new RuntimeException("Acme Reports WSDL URL is bad: "+ex.getMessage(), ex);
}
}
}
इस बीन (स्प्रिंग बीन के रूप में उपयोग) में विचार जेन के लिए सिंगलटन होना है क्लाइंट सेवा कोड मिटा रहा है। इसके लिए दो इनपुट की आवश्यकता है: डब्लूएसडीएल यूआरएल - यानी, सर्वर का वास्तविक यूआरएल जो डब्लूएसडीएल लागू करता है। ग्राहक सेवा कोड, निर्माण पर, आपूर्ति किए गए यूआरएल पर डब्ल्यूएसडीएल के लिए एक अनुरोध भेजें। इसके बाद यह ऑटो जेनरेट कोड में रहने वाले एनोटेशन के आधार पर डब्लूएसडीएल बनाता है, और इसकी तुलना इसकी तुलना करती है। मेरा मानना है कि यह सुनिश्चित करने के लिए किया जाता है कि आप सही सर्वर संस्करण के खिलाफ चल रहे हैं। इसलिए, मैंने यूआरएल को मेरे आवेदन के लिए सुलभ संपत्ति फ़ाइल में रखा है, इस प्रकार मैं अपने स्प्रिंग एप्लिकेशन संदर्भ फ़ाइल में प्रारंभ करता हूं।
यहाँ कारखाने का उपयोग कर एक सेवा उत्पन्न करने के लिए और फिर इसे का उपयोग करने का एक उदाहरण है:
InternalReportsAPIService internalReportsAPIService = acmeReportsWSFactory.createInternalReportsAPIService();
InternalReportsAPI port = internalReportsAPIService.getInternalReportsAPIPort();
यहाँ से, सिर्फ बंदरगाह चर का उपयोग wsdl पर किसी भी आपरेशन उपलब्ध कॉल करने के लिए।
कामकाजी उदाहरण हमेशा अच्छे होते हैं। –
अब जोड़ा गया। उम्मीद है कि यह –
में मदद करता है यह मेरे लिए काम नहीं करता है। क्या आप अपने पोम के सभी पहलुओं को wsgen और wsimport धन्यवाद के बारे में बता सकते हैं। जिस तरह से यह 'मूल त्रुटि के बारे में शिकायत करता है: मेटाडाटा org.jvnet.staxex स्थानांतरित नहीं कर सका: stax-ex/maven-metadata.xml से/java.net (http://download.java.net/maven/1/): रिपॉजिटरी java.net ' –
- 1. कौन सा पर्ल मॉड्यूल एक विश्वसनीय वेब एपीआई क्लाइंट लिखने के लिए अच्छा है?
- 2. सबसे अच्छा मोबाइल वेब एप्लिकेशन विकास ढांचा कौन सा है
- 3. वेब मानकों का परीक्षण करने के लिए कौन सा ब्राउज़र सबसे अच्छा है?
- 4. कौन सा सबसे अच्छा कॉमेट सर्वर है?
- 5. विंडोज के लिए सबसे अच्छा PHP संपादक कौन सा है?
- 6. कौन सा सबसे अच्छा जावा डेटपिकर है ..?
- 7. जावा के लिए सबसे अच्छा JSON rewriter कौन सा है?
- 8. मोबाइल के लिए सबसे अच्छा विज्ञापन एसडीके कौन सा है?
- 9. वेब क्लाइंट यूनिकोड - कौन सा यूटीएफ 8?
- 10. उपयोग करने के लिए कौन सा jade.vim प्लगइन?
- 11. वेब सेवा के लिए वेब क्लाइंट
- 12. सबसे अच्छा .NET XML-RPC लाइब्रेरी कौन सा है?
- 13. कौन सा मेरी जावास्क्रिप्ट प्लगइन
- 14. डब्ल्यूसीएफ वेब सेवा कॉल - कौन सा अपवाद पकड़ने के लिए?
- 15. सीएमएस + ईकॉमर्स - कौन सा ओपनसोर्स प्रोग्राम सबसे अच्छा है?
- 16. कौन सा जावास्क्रिप्ट इतिहास वापस कार्यान्वयन सबसे अच्छा है?
- 17. PHP में एक्सेल आउटपुट उत्पन्न करने का सबसे अच्छा तरीका कौन सा है?
- 18. रेल के लिए उपयोग करने के लिए सबसे अच्छा अमेज़ॅन एसईएस (ईमेल) मणि कौन सा है?
- 19. स्वचालित बैकअप बनाने का सबसे अच्छा तरीका कौन सा है?
- 20. सबसे अच्छा जावा रीस्ट एपीआई कौन सा है?
- 21. कौन सा डेटाबेस सबसे अच्छा एक्सएमएल समर्थन है?
- 22. सेवा में उपयोग करने के लिए कौन सा संदर्भ?
- 23. जावा वेब सेवा का नकल करने का सबसे अच्छा तरीका
- 24. मेरे लिए उपयोग करने के लिए सबसे अच्छा .NET छवि कैप्चर API कौन सा है?
- 25. चरणों के अनुक्रम को नियंत्रित करने के लिए कौन सा डिज़ाइन पैटर्न सबसे अच्छा नियोजित है?
- 26. दो बिंदुओं के बीच दूरी की गणना करने के लिए कौन सा सबसे अच्छा है?
- 27. सबसे अच्छा (और मुफ्त) एपीएल दुभाषिया कौन सा है?
- 28. सबसे अच्छा पोस्टफिक्स लॉग विश्लेषक कौन सा है?
- 29. जेपीए कार्यान्वयन - कौन सा सबसे अच्छा उपयोग करने के लिए है?
- 30. मनमाने ढंग से एचटीएमएल प्रस्तुत करने के लिए सबसे अच्छा विकेट घटक कौन सा है?
यहां http://stackoverflow.com/questions/2432859/difference-of-maven-jaxb-plugins यह कहता है कि maven-jaxb2-plugin लगातार विकसित और पसंदीदा है।आप maven-jaxb2-plugin का उपयोग क्यों नहीं कर सकते? – despot