使用代码生成cxf生成wsdl时出现问题(消息<xxx>中的XXX部分引用了模式中找不到的类型

时间:2018-10-22 10:54:24

标签: java maven wsdl cxf codegen

首先,对不起我的英语。 我正面临一个问题,我无法解决,甚至无法弄清楚问题出在哪里。 我正在尝试从外部wsdl生成Java代码,但出现此错误。 警告] <<<错误! [警告]消息<{urn:modifrdv:wsfour.omega.gazdefrance.com} OmegaMetierException>中引用的部分<{urn:modifrdv:wsfour.omega.gazdefrance.com} OmegaMetierException>在架构中找不到 [警告] [警告] [警告] org.apache.cxf.tools.validator.internal.WSDL11Validator.isValid(WSDL11Validator.java:140) [警告] org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.validate(JAXWSDefinitionBuilder.java:207) [警告] org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:201) [警告] org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164) [警告] org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412) [警告] org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105) [警告] org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) [警告] org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) [警告]位于org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51)

这里是wsdl的摘录:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:modifrdv:wsfour.omega.gazdefrance.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:import namespace="urn:modifrdv:demande.omega.grd.com"/>
      <xs:import namespace="urn:methodePriseRdv:demande.omega.grd.com"/>
      <xs:complexType name="OmegaMetierException"/>
      <xs:element name="accepterRdvOperation">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="urn:RequeteAccepterRdv" xmlns:urn="urn:methodePriseRdv:demande.omega.grd.com"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

        <s0:portType name="ModifierDemandeRdvService">
            <s0:operation name="accepterRdvOperation" ParameterOrder="parameters">
              <s0:input message="s1:accepterRdvOperation"/>
              <s0:output message="s1:accepterRdvOperationResponse"/>
              <s0:fault message="s1:OmegaMetierException" name="OmegaMetierException"/>
            </s0:operation>

     <s0:binding name="ModifierDemandeRdvServiceSoapBinding" type="s1:ModifierDemandeRdvService">
        <s2:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <s0:operation name="accepterRdvOperation">
      <s2:operation style="document"/>
      <s0:input>
        <s2:body parts="parameters" use="literal"/>
      </s0:input>
      <s0:output>
        <s2:body parts="parameters" use="literal"/>
      </s0:output>
      <s0:fault name="OmegaMetierException">
        <s2:fault name="OmegaMetierException" use="literal"/>
      </s0:fault>
    </s0:operation>

这就是我的外观/尝试/发现的外观。 -根据soap UI,wsdl是有效的。 -在Eclipse中,当我在设计模式下查看时,可以看到链接(OmegaMetierException)已断开。 -我在任何定义中都没有空格,可能会引起问题。

我缺少进口商品吗?这是某个地方的名字冲突吗?

如果有人开始回答,请不要犹豫。 预先感谢

如果我动则编辑

<xs:element name="OmegaMetierException" type="urn:OmegaMetierException" xmlns:urn="urn:modifrdv:wsfour.omega.gazdefrance.com"/>

从架构java:com.gazdefrance.omega.commun.fondation.framework.exceptions到架构urn:modifrdv:wsfour.omega.gazdefrance.com。在日食下,链接看起来正常。

行会出现问题吗?

0 个答案:

没有答案