2010-12-12 94 views
0

我想創建一個簡單的SOAP web服務(計算器)來了解此技術的基礎知識。我對SOAP很陌生,所以我已經做了一些事情,但我不確定接下來要做什麼。設置axis2肥皂服務器

我選擇了自頂向下的方法,這意味着首先創建一個wdsl文件,然後自動生成代碼。 我已經創建了一個帶有服務描述的wsdl文件,並用它來生成java文件。我使用1.1和2.0格式。爲了得到2.0文件,我使用了axis2的wsdl2java工具,爲1.1我使用了java wsimport工具。

從wsimport工具我得到了以下文件:

  • package-info.java
  • ObjectFactory.java
  • CalculatorService.java(我的服務的名稱)
  • Calculator.java(我的端口類型名稱)的複雜類型的
  • Input.java(名稱)

WSDL2Java工具給了我以下文件:

  • 的services.xml
  • CalculatorService.wsdl
  • Output.java(輸出元素的名稱)
  • Input.java(input元素的名稱)
  • cInput.jaba(輸入複雜的元件的名稱)
  • ExtensionMapper.java
  • CalculatorServiceCallbackHandler.java
  • CalculatorServiceMessageReceiverInOut.java
  • CalculatorServiceSkeleton.java(包括實現的接口)
  • CalculatorServiceSkeletonInterface.java
  • CalculatorServiceStub.java

在WSDL2Java的文件,我想我有我需要的一切excpept服務器上執行。至於wsimport的他們錯過了一個實現,我不知道在哪裏添加它。服務器實現也缺失。

起初我想將它作爲本地服務(本地服務器)運行,以測試它正在工作並稍後再編寫客戶端。

我在這裏找到了一個服務器實現的例子:In-process SOAP service server for Java。 這似乎很簡單,如果可能我想用這種方法。但我不確定它是否可以與我生成的文件(wsdl2java或wsimport)一起使用。如果可以使用,我也安裝了Apache服務器。所以我正在尋找建議,哪些文件用於設置服務器,以及什麼是最簡單的方法。

另外我想知道是否在wsdl文件中使用的名稱空間影響服務的可用性?因爲他們必須是URI-s,但目前我沒有一個用於我的服務。所以對於targetNamespace,xmlns:tns,端點地址等我使用了隨機的URL -s。如果我試圖在本地運行它,還是會產生問題,它會起作用嗎?

回答