Java Web服务和WSDL文件生成

时间:2010-05-11 16:36:02

标签: java web-services soap wsdl

用于从Java类文件生成WSDL文件的最佳工具是什么?

使用Java2WSDL遇到一些问题并想知道我的其他选择是什么。 最新的问题是它没有将String []编码为数组/序列。在WSDL中以类型xsd:string

的形式出现

我认为最好 - 干净的WSDL,非常容易被.NET和其他Java客户端使用。

2 个答案:

答案 0 :(得分:1)

  

用于从Java类文件生成WSDL文件的最佳工具是什么?

最直接的方法是使用JAX-WS注释来注释Java类。这是一个(基本)例子:

package helloservice.endpoint;

import javax.jws.WebService;

@WebService
public class Hello {
    private String message = new String("Hello, ");

    public void Hello() {}

    @WebMethod
    public String sayHello(String name) {
        return message + name + ".";
    }
}

WSDL将在运行时动态生成(但您也可以生成它并部署静态版本。)

请参阅Java EE教程中的Creating a Simple Web Service and Client with JAX-WS

答案 1 :(得分:0)

我最喜欢的方法是使用NetBeans创建Web服务。然后,我使用GUI编辑器来定义我的方法等,然后编写Web服务逻辑的代码。当您浏览到http://localhost/Application/MyService?WSDL网址时,NetBeans会自动为您生成WSDL(或者您也可以导出一个)。

当我这样做并将返回类型定义为String[]时,生成的complexType如下:

<xs:complexType name="response">
  <xs:sequence>
    <xs:element name="return" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded" /> 
  </xs:sequence>
</xs:complexType>

我认为你想要的是什么。