Java Web服务和WSDL文件生成
问题描述:
什么是用于从Java类文件生成WSDL文件的最佳工具?Java Web服务和WSDL文件生成
使用Java2WSDL遇到一些问题,并想知道我的其他选项。 最新的一个问题是,它不是将数组String/[]编码为数组/序列。通过在WSDL类型xsd:字符串
通过最好的我在想 - 很干净的WSDL和非常容易消耗.NET和其他Java客户端。
答
我最喜欢的方法就是使用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>
我认为这是你想要的。
答
什么是用于从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。
使用注释,我注意到wsdl是在运行时在WebLogic中生成的,而不是在Tomcat中生成的。任何想法如何在tomcat中启用运行时生成WSDL? – 2012-05-02 19:14:28