首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CXF wsdl2java未正确读取模式

CXF wsdl2java未正确读取模式
EN

Stack Overflow用户
提问于 2014-10-08 20:16:50
回答 1查看 1.2K关注 0票数 0

我使用下面的wsdl2java插件,配置成使用WSDL生成java类。

代码语言:javascript
复制
<plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <sourceRoot>${basedir}/src/main/java</sourceRoot>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>src/main/resources/XXXXService.wsdl</wsdl>
                                <validate>none</validate>
                                <extraargs>
                                    <extraarg>-server</extraarg>
                                    <extraarg>-impl</extraarg>
                                    <extraarg>-verbose</extraarg>
                                    <extraarg>-p</extraarg>
                                    <extraarg>http://XXX/YY=XXX</extraarg>
                                    <extraarg>-autoNameResolution</extraarg>
                                </extraargs>

                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

现在,我的WSDL中包含了下面的模式。

代码语言:javascript
复制
<xsd:include schemaLocation="myschema.xsd" xmlns="tns"></xsd:include>

当我的元素定义在WSDL中时,如下所示,它为myElement生成一个类,这很好:

代码语言:javascript
复制
<xsd:element name="myElement">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="a" type="xsd:string"
                    minOccurs="1">
                </xsd:element>
                <xsd:element name="b" type="xsd:string"
                    minOccurs="1">
                </xsd:element>                  
            </xsd:sequence>
        </xsd:complexType>

但是当我在WSDL中的元素定义引用模式中的ComplexType定义时。然后元素类aaa不生成,只生成aaaType类。

代码语言:javascript
复制
<xsd:element name="aaa"
        type="tns:aaaType">
</xsd:element>

我是否可以指定wsdl2java来生成aaaaaaType,以及在aaa中引用aaaType

EN

回答 1

Stack Overflow用户

发布于 2014-10-14 07:12:41

您可以在WSDL和模式上检查xmlns:tnstargetNamespace

<xsd:element name="aaa".-它可以在模式本身中定义。

您可以尝试浏览WSDL并检查它是否正确,因为问题似乎与模式包含有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26265657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档