使用常见xsd文件中的公共属性从xsd生成wsdl

时间:2018-04-01 10:02:18

标签: web-services spring-boot soap wsdl

我必须为单独的客户端生成单独的wsdl。

  1. entry.xsd - > entry.wsdl
  2. migration.xsd - > migration.wsdl
  3. 我正在使用spring boot contract frist方法从xsd定义生成wsdl。问题类型对于两个xsd fiel都是相同的:凭证,所以我想创建一个通用的xsd文件并在两个xsd中包含/ import,这样可以减少冗余代码。

    like common.xsd - > entry.xsd,migration.xsd

    但是获取异常或soap客户端提供了无效的错误消息。

    任何帮助,如何从两个xsd生成wsdl,其中一个是基础xsd文件?

    它正在给予,未能更新界面。来自SOAP客户端的InvalidFormatException。

    entry.sxd

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
               xmlns:tns="http://www.test.com/idms-ws"
               targetNamespace="http://www.test.com/idms-ws"
               elementFormDefault="qualified">
    <xs:include schemaLocation="common-element.xsd"></xs:include>
    
    <xs:element name="updateMigrationStatusRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="credential" type="tns:credential" minOccurs="0"/>
                <xs:element name="referenceNo" type="xs:string" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    </xs:schema>
    

    共element.xsd

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    
        <xs:complexType name="credential">
            <xs:sequence>
                <xs:element name="loginName" type="xs:string" minOccurs="0"/>
                <xs:element name="password" type="xs:string" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    
    </xs:schema>
    

0 个答案:

没有答案