简体   繁体   English

CXF元素参考

[英]CXF element reference

I'm trying run a contract-first by CXF and Maven. 我正在尝试由CXF和Maven首先执行合同。

I have a WSDL which is inside src/java/resource/wsdl and 5 xsds which are inside src/java/resources/xsd 我有一个src/java/resource/wsdl里面的WSDL和5个src/java/resources/xsd里面的xsds

My hierarchi seems like this: 我的层次结构看起来像这样:

aaa.v1r0.xsd (have an element which refers to bbb.v1r0.xsd)
bbb.v1r0.xsd (have elements which refers to ccc.v1r0.xsd, ddd.v1r0.xsd and eee.v1r0.xsd)
ccc.v1r0.xsd
ddd.v1r0.xsd (have an element which refers to eee.v1r0.xsd)
eee.v1r0.xsd
aaa.v1r0.wsdl have an element which refers to aaa.v1r0.xsd

aaa.v1r0.xsd aaa.v1r0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://schemas.example.com.br/aaa"
xmlns="http://schemas.example.com.br/aaa" 
version="v1r0"
xmlns:bbb="http://schemas.example.com.br/bbb">

<xsd:import 
    namespace="http://schemas.example.com.br/bbb" 
    schemaLocation="bbb.v1r0.xsd"/>


<xsd:element name="aaa" type="Aaa"/>

<xsd:element name="aaas" type="Aaas"/>

<xsd:complexType name="Aaa">
    <xsd:sequence>
        <xsd:element name="field1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field2" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element ref="bbb:bbbs" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Aaas">
    <xsd:sequence>
        <xsd:element ref="aaa" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
</xsd:complexType>
</xsd:schema>

bbb.v1r0.xsd bbb.v1r0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://schemas.example.com.br/bbb"
xmlns="http://schemas.example.com.br/bbb" 
version="v1r0"
xmlns:ccc="http://schemas.example.com.br/ccc"
xmlns:ddd="http://schemas.example.com.br/ddd"
xmlns:eee="http://schemas.example.com.br/eee">

<xsd:import 
    namespace="http://schemas.example.com.br/ccc" 
    schemaLocation="ccc.v1r0.xsd"/>

<xsd:import 
    namespace="http://schemas.example.com.br/ddd" 
    schemaLocation="ddd.v1r0.xsd"/>

<xsd:import 
    namespace="http://schemas.example.com.br/eee"
    schemaLocation="eee.v1r0.xsd"/>

<xsd:element name="bbb" type="Bbb"/>

<xsd:element name="bbbs" type="Bbbs"/>

<xsd:complexType name="Bbb">
    <xsd:sequence>
        <xsd:element name="field1" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field2" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field3" type="xsd:base64Binary" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="ccc:ccc" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field4" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="field5" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="ddd:ddd" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field6" minOccurs="0" maxOccurs="1">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="eee:eees" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Bbbs">
    <xsd:sequence>
        <xsd:element ref="bbb" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
</xsd:complexType>
</xsd:schema>

ccc.v1r0.xsd ccc.v1r0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.example.com.br/ccc"
xmlns="http://schemas.example.com.br/ccc"
version="v1r0">

<xsd:element name="ccc" type="Ccc"/>

<xsd:complexType name="Ccc">
    <xsd:sequence>
        <xsd:element name="field1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field2" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field3" minOccurs="0" maxOccurs="1">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field1" type="xsd:double" minOccurs="1" maxOccurs="1"/>
                    <xsd:element name="field2" type="xsd:double" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>
</xsd:schema>

ddd.v1r0.xsd ddd.v1r0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://schemas.example.com.br/ddd"
xmlns="http://schemas.example.com.br/ddd" 
version="v1r0"
xmlns:eee="http://schemas.example.com.br/eee">

<xsd:import 
    namespace="http://schemas.example.com.br/eee" 
    schemaLocation="eee.v1r0.xsd"/>

<xsd:element name="ddd" type="Ddd"/>

<xsd:element name="ddds" type="Ddds"/>

<xsd:complexType name="Ddd">
    <xsd:sequence>
        <xsd:element name="field1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field2" type="xsd:time" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="eee:eees" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Ddds">
    <xsd:sequence>
        <xsd:element ref="ddd" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
</xsd:complexType>
</xsd:schema>

eee.v1r0.xsd eee.v1r0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.example.com.br/eee"
xmlns="http://schemas.example.com.br/eee"
version="v1r0">

<xsd:element name="eee" type="Eee"/>

<xsd:element name="eees" type="Eees"/>

<xsd:complexType name="Eee">
    <xsd:sequence>
        <xsd:element name="field1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="field3" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="field4" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="field5" minOccurs="0" maxOccurs="1">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field1" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="Eees">
    <xsd:sequence>
        <xsd:element ref="eee" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
</xsd:complexType>
</xsd:schema>

aaa.v1r0.wsdl aaa.v1r0.wsdl

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions 
name="evento.v1r0"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
targetNamespace="http://services.example.com.br/aaa"
xmlns:tns="http://services.example.com.br/aaa">

<wsdl:types>
    <xsd:schema
        elementFormDefault="qualified"
        targetNamespace="http://services.example.com.br/aaa"
        xmlns:aaa="http://schemas.example.com.br/aaa">

        <xsd:import 
            namespace="http://schemas.example.com.br/aaa"
            schemaLocation="../xsd/aaa.v1r0.xsd"/>

        <xsd:element name="capacity01Request">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="aaa:aaa" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity01Response">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field1" type="xsd:integer" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity02Request">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field1" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                    <xsd:element name="field2" type="xsd:date" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity02Response">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field01" minOccurs="0" maxOccurs="1">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="field02" minOccurs="1" maxOccurs="unbounded">
                                    <xsd:complexType>
                                        <xsd:sequence>
                                            <xsd:element name="field03" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                            <xsd:element name="field04" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                            <xsd:element name="field05" minOccurs="1" maxOccurs="1">
                                                <xsd:complexType>
                                                    <xsd:sequence>
                                                        <xsd:element name="field06" minOccurs="1" maxOccurs="unbounded">
                                                            <xsd:complexType>
                                                                <xsd:sequence>
                                                                    <xsd:element name="field07" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
                                                                    <xsd:element name="field08" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                                                    <xsd:element name="field09" type="xsd:base64Binary" minOccurs="0" maxOccurs="1"/>
                                                                    <xsd:element name="field10" minOccurs="1" maxOccurs="1">
                                                                        <xsd:complexType>
                                                                            <xsd:sequence>
                                                                                <xsd:element name="field11" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                                                                <xsd:element name="field12" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                                                            </xsd:sequence>
                                                                        </xsd:complexType>
                                                                    </xsd:element>
                                                                    <xsd:element name="field13" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
                                                                </xsd:sequence>
                                                            </xsd:complexType>
                                                        </xsd:element>
                                                    </xsd:sequence>
                                                </xsd:complexType>
                                            </xsd:element>
                                        </xsd:sequence>
                                    </xsd:complexType>
                                </xsd:element>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity03Request">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field01" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                    <xsd:element name="field02" type="xsd:date" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity03Response">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="aaa:aaas" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity04Request">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field01" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                    <xsd:element name="field02" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                    <xsd:element name="field03" minOccurs="0" maxOccurs="1">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="field04" type="xsd:date" minOccurs="0" maxOccurs="1"/>
                                <xsd:element name="field05" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="capacity04Response">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="aaa:aaas" minOccurs="0" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <xsd:element name="AaaError">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="field01" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>
</wsdl:types>

<wsdl:message name="requestcapacity01">
    <wsdl:part name="capacity01Request" element="tns:capacity01Request"/>
</wsdl:message>

<wsdl:message name="responsecapacity01">
    <wsdl:part name="capacity01Response" element="tns:capacity01Response"/>
</wsdl:message>

<wsdl:message name="requestcapacity02">
    <wsdl:part name="capacity02Request" element="tns:capacity02Request"/>
</wsdl:message>

<wsdl:message name="responsecapacity02">
    <wsdl:part name="capacity02Response" element="tns:capacity02Response"/>
</wsdl:message>

<wsdl:message name="requestcapacity03">
    <wsdl:part name="capacity03Request" element="tns:capacity03Request"/>
</wsdl:message>

<wsdl:message name="responsecapacity03">
    <wsdl:part name="capacity03Response" element="tns:capacity03Response"/>
</wsdl:message>

<wsdl:message name="requestcapacity04">
    <wsdl:part name="capacity04Request" element="tns:capacity04Request"/>
</wsdl:message>

<wsdl:message name="responsecapacity04">
    <wsdl:part name="capacity04Response" element="tns:capacity04Response"/>
</wsdl:message>

<wsdl:message name="AaaError">
    <wsdl:part name="AaaError" element="tns:AaaError"/>
</wsdl:message>

<wsdl:portType name="eventoPortType">
    <wsdl:operation name="capacity01">
        <wsdl:input message="tns:requestcapacity01"/>
        <wsdl:output message="tns:responsecapacity01"/>
        <wsdl:fault name="error" message="tns:AaaError"/>
    </wsdl:operation>

    <wsdl:operation name="capacity02">
        <wsdl:input message="tns:requestcapacity02"/>
        <wsdl:output message="tns:responsecapacity02"/>
        <wsdl:fault name="error" message="tns:AaaError"/>
    </wsdl:operation>

    <wsdl:operation name="capacity03">
        <wsdl:input message="tns:requestcapacity03"/>
        <wsdl:output message="tns:responsecapacity03"/>
        <wsdl:fault name="error" message="tns:AaaError"/>
    </wsdl:operation>

    <wsdl:operation name="capacity04">
        <wsdl:input message="tns:requestcapacity04"/>
        <wsdl:output message="tns:responsecapacity04"/>
        <wsdl:fault name="error" message="tns:AaaError"/>
    </wsdl:operation>
</wsdl:portType>

<wsdl:binding name="eventoSOAP11Binding" type="tns:eventoPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <wsdl:operation name="capacity01">
        <soap:operation style="document" soapAction="" />
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
        <wsdl:fault name="error">
            <soap:fault name="error" use="literal" />
        </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="capacity02">
        <soap:operation style="document" soapAction=""/>
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
        <wsdl:fault name="error">
            <soap:fault name="error" use="literal" />
        </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="capacity03">
        <soap:operation style="document" soapAction=""/>
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
        <wsdl:fault name="error">
            <soap:fault name="error" use="literal" />
        </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="capacity04">
        <soap:operation style="document" soapAction=""/>
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
        <wsdl:fault name="error">
            <soap:fault name="error" use="literal" />
        </wsdl:fault>
    </wsdl:operation>
</wsdl:binding>

<wsdl:service name="aaaService">
    <wsdl:port name="AaaPort" binding="tns:eventoSOAP11Binding">
        <soap:address location="http://localhost:8080/aaa-service/services/aaa"/>
    </wsdl:port>
</wsdl:service>
</wsdl:definitions>

pom.xml 的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.exampleapp</groupId>
<artifactId>aaa-service</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>aaa-service Maven Webapp</name>
<url>http://maven.apache.org</url>

<properties>
    <cxf.version>3.0.1</cxf.version>
    <jdk.version>1.7</jdk.version>
    <maven-compiler.version>3.1</maven-compiler.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <spring.version>4.0.6.RELEASE</spring.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>${cxf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
</dependencies>

<build>
    <finalName>aaa-service</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler.version}</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
                <encoding></encoding>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <sourceRoot>${basedir}/src/main/java</sourceRoot>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>${basedir}/src/main/resources/wsdl/aaa.v1r0.wsdl</wsdl>
                                <extraargs>
                                    <extraarg>-impl</extraarg>
                                </extraargs>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
</project>

applicationContext.xml applicationContext.xml中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:jaxws="http://cxf.apache.org/jaxws"
  xsi:schemaLocation="
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd
     http://cxf.apache.org/jaxws
     http://cxf.apache.org/schemas/jaxws.xsd">

<jaxws:endpoint 
    id="aaa"
    implementor="br.com.example.services.aaa.AaaPortImpl"
    wsdlLocation="wsdl/aaa.v1r0.wsdl"
    address="/aaa">
</jaxws:endpoint>
</beans>

web.xml web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee  /web-app_2_5.xsd">
<display-name>Sample web service provider</display-name>
<listener>
    <listener-class>
         org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>60</session-timeout>
</session-config>
</web-app>

When I run my project in a Tomcat server, I can access the WSDL configuration through http://localhost:8080/aaa-service/services/aaa?wsdl 在Tomcat服务器中运行项目时,可以通过http://localhost:8080/aaa-service/services/aaa?wsdl访问WSDL配置

However, when I try test this configuration through SOAPUI, I receive a message which say that was an error loading WSDL 但是,当我尝试通过SOAPUI测试此配置时,收到一条消息,提示加载WSDL错误

Source null 来源为空

Error element bbbs@http://schemas.example.com.br/bbb not found bbbs@http://schemas.example.com.br/bbb错误元素bbbs@http://schemas.example.com.br/bbb

What am I doing wrong? 我究竟做错了什么? is there some configuration to ref elements? ref元素有一些配置吗?

Add the import statement to import other xsd to wsdl 添加import语句以将其他xsd导入wsdl

<xsd:import namespace="http://schemas.example.com.br/bbb" schemaLocation="../xsd/bbb.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/ccc" schemaLocation="../xsd/ccc.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/ddd" schemaLocation="../xsd/ddd.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/eee" schemaLocation="../xsd/eee.v1r0.xsd" />

Your wsdl would look like as below 您的wsdl如下图所示

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions name="evento.v1r0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://services.example.com.br/aaa" xmlns:tns="http://services.example.com.br/aaa">

    <wsdl:types>
        <xsd:schema elementFormDefault="qualified" targetNamespace="http://services.example.com.br/aaa" xmlns:aaa="http://schemas.example.com.br/aaa">

            <xsd:import namespace="http://schemas.example.com.br/aaa" schemaLocation="../xsd/aaa.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/bbb" schemaLocation="../xsd/bbb.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/ccc" schemaLocation="../xsd/ccc.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/ddd" schemaLocation="../xsd/ddd.v1r0.xsd" />
            <xsd:import namespace="http://schemas.example.com.br/eee" schemaLocation="../xsd/eee.v1r0.xsd" />

            <xsd:element name="capacity01Request">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="aaa:aaa" minOccurs="1" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity01Response">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field1" type="xsd:integer" minOccurs="1" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity02Request">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field1" type="xsd:string" minOccurs="0" maxOccurs="1" />
                        <xsd:element name="field2" type="xsd:date" minOccurs="0" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity02Response">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field01" minOccurs="0" maxOccurs="1">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="field02" minOccurs="1" maxOccurs="unbounded">
                                        <xsd:complexType>
                                            <xsd:sequence>
                                                <xsd:element name="field03" type="xsd:string" minOccurs="1" maxOccurs="1" />
                                                <xsd:element name="field04" type="xsd:string" minOccurs="1" maxOccurs="1" />
                                                <xsd:element name="field05" minOccurs="1" maxOccurs="1">
                                                    <xsd:complexType>
                                                        <xsd:sequence>
                                                            <xsd:element name="field06" minOccurs="1" maxOccurs="unbounded">
                                                                <xsd:complexType>
                                                                    <xsd:sequence>
                                                                        <xsd:element name="field07" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
                                                                        <xsd:element name="field08" type="xsd:string" minOccurs="1" maxOccurs="1" />
                                                                        <xsd:element name="field09" type="xsd:base64Binary" minOccurs="0" maxOccurs="1" />
                                                                        <xsd:element name="field10" minOccurs="1" maxOccurs="1">
                                                                            <xsd:complexType>
                                                                                <xsd:sequence>
                                                                                    <xsd:element name="field11" type="xsd:string" minOccurs="1" maxOccurs="1" />
                                                                                    <xsd:element name="field12" type="xsd:string" minOccurs="1" maxOccurs="1" />
                                                                                </xsd:sequence>
                                                                            </xsd:complexType>
                                                                        </xsd:element>
                                                                        <xsd:element name="field13" type="xsd:integer" minOccurs="0" maxOccurs="1" />
                                                                    </xsd:sequence>
                                                                </xsd:complexType>
                                                            </xsd:element>
                                                        </xsd:sequence>
                                                    </xsd:complexType>
                                                </xsd:element>
                                            </xsd:sequence>
                                        </xsd:complexType>
                                    </xsd:element>
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity03Request">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field01" type="xsd:string" minOccurs="0" maxOccurs="1" />
                        <xsd:element name="field02" type="xsd:date" minOccurs="0" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity03Response">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="aaa:aaas" minOccurs="0" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity04Request">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field01" type="xsd:string" minOccurs="1" maxOccurs="1" />
                        <xsd:element name="field02" type="xsd:string" minOccurs="0" maxOccurs="1" />
                        <xsd:element name="field03" minOccurs="0" maxOccurs="1">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="field04" type="xsd:date" minOccurs="0" maxOccurs="1" />
                                    <xsd:element name="field05" type="xsd:string" minOccurs="0" maxOccurs="1" />
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="capacity04Response">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="aaa:aaas" minOccurs="0" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="AaaError">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="field01" type="xsd:string" minOccurs="1" maxOccurs="1" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>

    <wsdl:message name="requestcapacity01">
        <wsdl:part name="capacity01Request" element="tns:capacity01Request" />
    </wsdl:message>

    <wsdl:message name="responsecapacity01">
        <wsdl:part name="capacity01Response" element="tns:capacity01Response" />
    </wsdl:message>

    <wsdl:message name="requestcapacity02">
        <wsdl:part name="capacity02Request" element="tns:capacity02Request" />
    </wsdl:message>

    <wsdl:message name="responsecapacity02">
        <wsdl:part name="capacity02Response" element="tns:capacity02Response" />
    </wsdl:message>

    <wsdl:message name="requestcapacity03">
        <wsdl:part name="capacity03Request" element="tns:capacity03Request" />
    </wsdl:message>

    <wsdl:message name="responsecapacity03">
        <wsdl:part name="capacity03Response" element="tns:capacity03Response" />
    </wsdl:message>

    <wsdl:message name="requestcapacity04">
        <wsdl:part name="capacity04Request" element="tns:capacity04Request" />
    </wsdl:message>

    <wsdl:message name="responsecapacity04">
        <wsdl:part name="capacity04Response" element="tns:capacity04Response" />
    </wsdl:message>

    <wsdl:message name="AaaError">
        <wsdl:part name="AaaError" element="tns:AaaError" />
    </wsdl:message>

    <wsdl:portType name="eventoPortType">
        <wsdl:operation name="capacity01">
            <wsdl:input message="tns:requestcapacity01" />
            <wsdl:output message="tns:responsecapacity01" />
            <wsdl:fault name="error" message="tns:AaaError" />
        </wsdl:operation>

        <wsdl:operation name="capacity02">
            <wsdl:input message="tns:requestcapacity02" />
            <wsdl:output message="tns:responsecapacity02" />
            <wsdl:fault name="error" message="tns:AaaError" />
        </wsdl:operation>

        <wsdl:operation name="capacity03">
            <wsdl:input message="tns:requestcapacity03" />
            <wsdl:output message="tns:responsecapacity03" />
            <wsdl:fault name="error" message="tns:AaaError" />
        </wsdl:operation>

        <wsdl:operation name="capacity04">
            <wsdl:input message="tns:requestcapacity04" />
            <wsdl:output message="tns:responsecapacity04" />
            <wsdl:fault name="error" message="tns:AaaError" />
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="eventoSOAP11Binding" type="tns:eventoPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

        <wsdl:operation name="capacity01">
            <soap:operation style="document" soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="error">
                <soap:fault name="error" use="literal" />
            </wsdl:fault>
        </wsdl:operation>

        <wsdl:operation name="capacity02">
            <soap:operation style="document" soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="error">
                <soap:fault name="error" use="literal" />
            </wsdl:fault>
        </wsdl:operation>

        <wsdl:operation name="capacity03">
            <soap:operation style="document" soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="error">
                <soap:fault name="error" use="literal" />
            </wsdl:fault>
        </wsdl:operation>

        <wsdl:operation name="capacity04">
            <soap:operation style="document" soapAction="" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="error">
                <soap:fault name="error" use="literal" />
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="aaaService">
        <wsdl:port name="AaaPort" binding="tns:eventoSOAP11Binding">
            <soap:address location="http://localhost:8080/aaa-service/services/aaa" />
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM