&引用;java表单生成器“;来自给定的wsdl文件

&引用;java表单生成器“;来自给定的wsdl文件,java,web-services,axis,Java,Web Services,Axis,我正在尝试用java开发一个表单生成器,用户可以在其中编写一个wsdl url,并在一个组合框中获得web服务支持的操作列表。当用户选择ComboBox中的一个项目时,他将看到使用wsdl url生成的表单字段 我是web服务技术的新手,在网上搜索web服务解析器后,我决定使用axis库。但我真的不知道应该解析wsdl文档的哪一部分 我并没有试图创建web服务的java类,我必须为任何wsdl url生成表单字段 例如,这里有一个提供9个操作的web服务 wsdl文件如下所示: 我需要知道应

我正在尝试用java开发一个表单生成器,用户可以在其中编写一个wsdl url,并在一个组合框中获得web服务支持的操作列表。当用户选择ComboBox中的一个项目时,他将看到使用wsdl url生成的表单字段

我是web服务技术的新手,在网上搜索web服务解析器后,我决定使用axis库。但我真的不知道应该解析wsdl文档的哪一部分

我并没有试图创建web服务的java类,我必须为任何wsdl url生成表单字段

例如,这里有一个提供9个操作的web服务

wsdl文件如下所示:


我需要知道应该解析wsdl文件的哪些部分,如果有任何帮助,我将不胜感激。

这不是一个简单的项目,您可能会发现一个已经这样做的库将是您最好的方法,但开始的地方是将属性映射到HTML表单组件,最小/最大值将出现在JavaScript事件中

根据您对WSDL的理解,编写表单可能会容易得多。至于能帮上忙的东西,你可以用

或者对于基于web的东西(我刚刚用您的WSDL进行了测试,它可以工作),您可以尝试


我知道这两个链接可能与您试图完成的目标完全脱节,所以祝您在应对这一挑战时好运:)

要开始使用WSDL并了解此类文档的结构,你也许应该看看一些文章,比如,或者其他你可以在谷歌上找到的初学者资源

现在,要以简化的方式回答您的问题,您必须从包含以下内容的
portType
元素开始:

一个或多个端点支持的抽象操作集(通常称为接口);操作由消息交换定义

例如,在您的情况下:

<wsdl:operation name="DictionaryList">
  <wsdl:documentation>Returns a list of available dictionaries</wsdl:documentation>
  <wsdl:input message="tns:DictionaryListSoapIn"/>
  <wsdl:output message="tns:DictionaryListSoapOut"/>
</wsdl:operation>
然后,要了解消息的内容,请查看
类型

用于使用XML模式定义的抽象类型定义的容器

这里,
DictionaryList
元素被定义为一个空的completeType:

<s:element name="DictionaryList">
  <s:complexType/>
</s:element>

这里有一个关于Thomas Bayer的“读取wsdl文件”的好教程

我不能为WSDL方面说话,但您可以考虑表单生成方面:一旦您提取并解析了WSDL,您就可以将其推送到Meta WIDGET中,并获得大量的UI优点(支持不同的平台、不同的小部件库等)

问候,


Richard。

像这样的工具会非常有用,你会把它作为开源项目发布吗?这是一个学校项目,我不确定我是否能找到它。也许我可以写一个新的,你可以肯定,如果我写一个,它将在GPL3下发布;)
<s:element name="DictionaryList">
  <s:complexType/>
</s:element>
$ mkdir generated
$ wsimport -d generated http://services.aonaware.com/DictService/DictService.asmx?WSDL