2013-04-17 175 views
2

我是一個新的bie世界的webservices,我必須開發客戶端代碼是java代碼,我已經提供了一個wsdl,我可以看到通過打開該wsdl在瀏覽器,因爲我有權訪問wsdl,請讓我知道如何通過Axis 2從該wsdl本身生成客戶端代碼,任何幫助將不勝感激,請在此提前致謝關於客戶端代碼生成WSDL

回答

0

此處簡要概述您將擁有什麼要生成客戶端java代碼:

  1. 打開指向web瀏覽器中wsdl文檔的URL。
  2. 將該網頁另存爲xml文檔。
  3. 文件重命名爲具有擴展的.wsdl(可選)
  4. 然後,你需要通過運行java命令的WSDLToJava Java文件這個類將被包含在axis.jar
  5. 提供的WSDL文件名作爲這個java文件的參數。
  6. 提供所有需要的類路徑參數這個java命令的jar文件像下面

所以你的命令將如下:

的java -classpath axis.jar;%CATALINA_HOME%/共享/ lib目錄/commons-httpclient.jar;%CATALINA_HOME%/shared/lib/log4j.jar;%CATALINA_HOME%/shared/lib/commons-logging.jar;wsdl4j.jar;commons-net.jar;commons-discovery.jar;jaxrpc .jar; soap.jar; saaj.jar org.apache.axis.wsdl.WSDL2Java your_wsdl_fileName.wsdl

1

有很多方法可以生成客戶端和服務器存根。 您可以使用WSDL2Code插件方法 此插件將WSDL作爲輸入,並生成用於調用或實現與WSDL匹配的Web服務的客戶端和服務器存根控件。 添加以下部分到您的POM

 <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
      <version>1.6.0</version> 
      <executions> 
       <execution> 
        <id>ws1</id> 
        <goals> 
         <goal>wsdl2code</goal> 
        </goals> 
        <configuration> 
         <unpackClasses>true</unpackClasses> 
         <databindingName>adb</databindingName> 
         <packageName>ma.glasnost.sample.axis2-maven</packageName> 
         <wsdlFile>src/main/resources/ws.wsdl</wsdlFile> 
         <outputDirectory>target/generated-sources</outputDirectory> 
         <syncMode>sync</syncMode> 
        </configuration> 
       </execution> 
      ..... if you have many web services     
      </executions> 
     </plugin> 

另外補充Axis2的罐子作爲一個依賴

<dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2</artifactId> 
      <version>1.4</version> 
</dependency> 
相關問題