【发布时间】:2013-10-21 21:17:32
【问题描述】:
我已经从 XML Web 服务的一组示例请求文件生成了一个 XSD(使用 Xmplify - 但我怀疑这很重要)。
当我通过 gsoap 运行它时,我没有收到任何错误或警告,但即使在 soapcpp2 上使用 -i 或 -j 选项,我也没有生成任何 C++ 代理文件(例如 soapProxy.h)。
仅生成以下文件:
ns1.nsmap
request.h
soapC.cpp
soapH.h
soapStub.h
使用的命令:
wsdl2h request.xsd
soapcpp2 -i -C -I/usr/local/share/gsoap/import request.h
我认为生成这些 XSD 需要一些特定的东西?
如何获取生成的代理文件?我知道我可以在没有代理对象的情况下使用,但它看起来更乱!
架构文档包含在下面。
感谢您的建议!
菲尔。
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' elementFormDefault='unqualified'>
<xs:element name='REQUEST'>
<xs:complexType>
<xs:sequence>
<xs:element ref='USERTOKEN'/>
<xs:element ref='ACTION'/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name='USERTOKEN'>
<xs:complexType>
<xs:sequence>
<xs:element ref='USERKEY'/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name='USERKEY' type='xs:NCName'/>
<xs:element name='ACTION'>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs='0' ref='PARAMETER'/>
</xs:sequence>
<xs:attribute name='NAME' use='required' type='xs:NCName'/>
</xs:complexType>
</xs:element>
<xs:element name='PARAMETER'>
<xs:complexType mixed='true'>
<xs:attribute name='NAME' use='required' type='xs:NCName'/>
</xs:complexType>
</xs:element>
</xs:schema>
【问题讨论】: