2008-12-02 10 views
5

स्वत: उत्पन्न करता है मैं वर्तमान में आईबीएस वेब सेवा सेवा ढांचे को एक्सिस 2 के साथ बदलने की प्रक्रिया में हूं। WSDL फ़ाइल से कोड उत्पन्न करते समय, मैं मेवेन प्लगइन WSDL2Code का उपयोग करता हूं। हालांकि, बनाया गया कोड हमेशा गलत होता है। या इसके बजाय, पैकगेनेम हमेशा गलत होते हैं, जो बदले में हर विधि को अनावश्यक कहा जाता है (ग्रहण में 10.000+ त्रुटियों तक और भी त्रुटियां पैदा करता है)।WSDL2Code (मेवेन) भ्रष्ट वर्गों (पैकेज)

यहाँ क्या वास्तव में हो रहा है, इसका एक उदाहरण है (यह सिर्फ एक उदाहरण मैं विशेष रूप से बनाया सलाह पाने के लिए है):

 <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
      <version>1.4.1</version> 
      <executions> 
       <execution> 
        <id>Test</id> 
        <goals> 
         <goal>wsdl2code</goal> 
        </goals> 
        <configuration> 
         <packageName>test.testpackage</packageName> 
         <databindingName>xmlbeans</databindingName> 
         <wsdlFile>${basedir}/wsdl/service.wsdl</wsdlFile> 
         <outputDirectory>${basedir}/testdirectory</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

सिद्धांत रूप में, इस पैकेज नाम "test.testpackage" के साथ कोड उत्पन्न करनी चाहिए निर्देशिका testdirectory/test/testpackage में। हालांकि, इसके बजाय यह निम्न पैकेज बनाता है: निर्देशिका testrirectory.src.test.testpackage निर्देशिका में Src.test.testpackage। यह हमेशा पैकेज नाम और निर्देशिका दोनों में "src" जोड़ता है - यदि मैं पैकेज नाम को src.test.testpackage में बदलता हूं, तो यह निम्न पैकेज उत्पन्न करेगा: src.src.test.testpackage।

यह, ज़ाहिर है, एक विशाल समस्या की ओर जाता है, क्योंकि हर उत्पन्न फ़ाइल में निम्न त्रुटि है: "घोषित पैकेज" src.test.testpackage src.src.test "उम्मीद पैकेज से मेल नहीं खाता।" testpackage "

मैं यहां एक पूर्ण नुकसान पर हूं। मुझे बस कोई कारण नहीं मिल रहा है कि इसे हर जगह" src "क्यों जोड़ना चाहिए। मैंने एक ऑटो-जेनरेट की गई build.xml फ़ाइल देखी है जिसमें एक मूल्य है sourcedirectory = x/src (या कुछ समान), लेकिन इस मूल्य को प्रभावित करने के लिए मैं कुछ भी नहीं कर सकता (इसे बदलने की कोशिश कर रहा हूं और फिर फ़ाइल को सहेजने में कोई फर्क नहीं पड़ता, जाहिर है, क्योंकि अगली बार जब मैं मैवेन चलाता हूं तो यह फिर से उत्पन्न होता है)।

ओह, और मैं आम तौर पर "एमवीएन क्लीन इंस्टॉल" और WSDL2Code के संस्करण 1.4.1 कमांड का उपयोग करता हूं, इसलिए यह पुराने wsdl2code में से एक नहीं है: wsdl2code bugs।

अगर किसी को भी वास्तव में क्या गलत है इसका कोई विचार है, तो मैं इसकी सराहना करता हूं।

अग्रिम धन्यवाद।

उत्तर

0

शायद 'src' $ {basedir} का हिस्सा है?

0

मुझे डर नहीं है। यहां तक ​​कि अगर यह भी था, तो अजीब समस्या तब नहीं होनी चाहिए - पथ तब testdirectory/src/test/testpackage होने के नाते सही होगा, इस प्रकार पैकेज नाम के साथ कोई समस्या नहीं आती है। समस्या अब उत्पन्न होती है क्योंकि इसे उस निर्देशिका में रखा जाता है जहां पैकेज की अपेक्षा नहीं होती है - यह $ {basedir} /testdirectory/insert.package.here.divided.by./ की अपेक्षा करता है, लेकिन इसके बजाय इसे $ {basedir}/testdirectory/src /insert.package.here.divided.by./।

स्रोत पथ के उस हिस्से में मौजूद नहीं होना चाहिए।

+0

क्या यह leppie के जवाब में था? यदि भविष्य में टिप्पणियों का उपयोग करें। – Adam

9

संस्करण 1.4.1 में कुछ अधिक कॉन्फ़िगरेशन विकल्प है कि वास्तव में दर्ज नहीं किया है (org.apache.axis2.maven2.wsdl2code.WSDL2CodeMojo के स्रोत पर एक नजर है) ...

बस < का उपयोग किया गया है flattenFiles > सच </flattenFiles > - कि :-)

+0

धन्यवाद, यह वास्तव में काम करता है, लेकिन क्या आप समझा सकते हैं कि यह क्यों काम करता है? – Confusion

+0

धन्यवाद @ जो एहम, यह वही है जो मुझे जानने की जरूरत है। – Joe

2

यह सवाल अपनी समस्या को हल करना चाहिए काफी पुराना है, इसलिए मैं आप अभी भी समस्या है तो पता नहीं है ...

मैं सिफारिश करेंगे इसके बजाय Axistools Maven Plugin का उपयोग करके, यह grea काम किया हमारे मामले में टी।

+0

संकेत: axistools केवल एक्सिस 1 का उपयोग करता है और एक्सिस 2 नहीं ... – Lonzak

0

यह उन लोगों में से "प्रतिभा" (या के उपयोगकर्ता) Maven/Axis2 कि व्यावहारिक रूप से आप के लिए निर्णय लेता है साथ जुड़ा हुआ है ... यह देखें: [Axis2 मेलिंग सूची प्रविष्टि] [1]

[1] : http://markmail.org/search/?q=[Axis2]+indrit#query:[Axis2 मेलिंग सूची प्रविष्टि]% 20indrit + पृष्ठ: 1 + मध्य: a34wbp7l3pljagsz ​​+ राज्य: परिणाम

संबंधित मुद्दे