axis2无法从具有内联架构的wsdl生成java
我想从WSDL生成Java类。我正在从ant任务中调用wsdl2java。命令行如下所示:axis2无法从具有内联架构的wsdl生成java,java,xsd,axis2,wsdl2java,Java,Xsd,Axis2,Wsdl2java,我想从WSDL生成Java类。我正在从ant任务中调用wsdl2java。命令行如下所示: java -cp ... org.apache.axis2.wsdl.WSDL2Java -o generated_dir -S . -R . -l java -p "com.make.me.rich" -d adb -or --noBuildXML -uri MakeMeRich.wsdl MakeMeRich.wsdl包含来自Micrsosoft的内联模式,例如: <xsd:schema el
java -cp ... org.apache.axis2.wsdl.WSDL2Java -o generated_dir -S . -R . -l java -p "com.make.me.rich" -d adb -or --noBuildXML -uri MakeMeRich.wsdl
MakeMeRich.wsdl包含来自Micrsosoft的内联模式,例如:
<xsd:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<xsd:complexType name="ArrayOfint">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="int" type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
<xsd:complexType name="ArrayOfKeyValueOfstringstring">
<xsd:annotation>
<xsd:appinfo>
<IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringstring">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Key" nillable="true" type="xsd:string" />
<xsd:element name="Value" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ArrayOfKeyValueOfstringstring" nillable="true" type="tns:ArrayOfKeyValueOfstringstring" />
</xsd:schema>
有没有关于如何使用wsdl2java处理内联模式的想法?将其作为wsdl中的内联模式。使用数据绑定
xmlbeans
似乎可以解决问题:-d xmlbeans
您使用的是哪个Axis2版本?我在1.6.x版本中也面临类似的问题,而在1.5.x及以下版本中一切都正常。你能用旧版本试试吗?
在我看来,使用xmlbeans不是一种解决方案,它只是一种变通方法。感谢Ratha的提示。当我仔细查看WSDL和您关于内联模式的建议时,我发现WSDL实际上已经使用了内联模式。因此,当调用wsdl2java时,它似乎没有像我一样正确处理内联模式。我使用的是Axis2 1.6.2。Axis2项目页面指出,ADB“决不是[…]打算成为像XMLBeans那样的全功能模式编译器。”()。所以我理解,您不能期望任何WSDL构造与ADB一起工作。
[java] Warning: No schemaLocation for import of http://schemas.microsoft.com/2003/10/Serialization/Arrays; compilation may fail