我们在组织中共享了大量CSV文件,其中包含各种信息。我写了一个小的Java程序来监视某个共享文件夹并读取新的csv文件。我的目标是允许通过SOAP Web服务读取和更新信息。我的问题是信息结构不是静态的,所以我不能从我的Java结构创建一个WSDL文件(例如使用spring ...)。我需要创建一个动态WSDL文件。
我正在研究Axis2(http://axis.apache.org/axis2/java/core/),但我仍然觉得我遗漏了一些东西,因为我需要动态构建带有WS定义的java类,然后编译,构建.aar包然后将文件移动到axis2文件夹。这看起来有点沉重。
基本上我只需要两种方法:
例如我有一个user.csv:
ID;FirstName;Age;Mail
01;Stephanie;27;sb@somemail.com
应生成如下内容:
[...]
<xsd:element name="delete">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="id" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="insert">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="id" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="0" name="FirstName" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="0" name="Age" type="xsd:integer" />
<xsd:element maxOccurs="1" minOccurs="0" name="Mail" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
[...]
有没有人有更好的方法呢?
干杯, 斯蒂芬妮
答案 0 :(得分:0)
使用一个简单的WS,只需2次操作,并在xml中使用body raw。
xml必须符合WSDL中的非外部XSD。在服务器中,您拥有所有XSD,并且您可以验证输入并使用Jaxb创建对象,例如,您可以将其用于CSV上的CRUD操作。