2010-05-11 148 views
1

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

使用Java2WSDL遇到一些问题,并想知道我的其他选项。 最新的一个问题是,它不是将数组String/[]编码为数组/序列。通过在WSDL类型xsd:字符串

通过最好的我在想 - 很干净的WSDL和非常容易消耗.NET和其他Java客户端。

回答

0

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

当我做到这一点,定义一个返回类型为String[],所产生的复杂类型如下:

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

我认为这是你想要的。

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

+0

使用注释,我注意到wsdl是在运行时在WebLogic中生成的,而不是在Tomcat中生成的。任何想法如何在tomcat中启用运行时生成WSDL? – 2012-05-02 19:14:28