cxf wsdl2java错误无法生成类型
我尝试使用apache cxf 3.1.4中的wsdl2java,但收到以下错误:未能生成类型,并且wsdl位于同一文件夹中,即C:\Program Files(x86)\apache-cxf-3.1.4\bin。因此,我必须做什么来生成一个java wsdl,wsdl文件如下所示:cxf wsdl2java错误无法生成类型,java,web-services,wsdl,Java,Web Services,Wsdl,我尝试使用apache cxf 3.1.4中的wsdl2java,但收到以下错误:未能生成类型,并且wsdl位于同一文件夹中,即C:\Program Files(x86)\apache-cxf-3.1.4\bin。因此,我必须做什么来生成一个java wsdl,wsdl文件如下所示: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:soap="http://schema
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.andre.dionisio.nom.br/SOAPWS/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SOAPWS" targetNamespace="http://www.andre.dionisio.nom.br/SOAPWS/">
<wsdl:types>
<xsd:schema targetNamespace="http://www.andre.dionisio.nom.br/SOAPWS/">
<xsd:element name="GetAverageEmployeesSalary">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetAverageEmployeesSalaryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CalculateEmployeeBonus">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="GetAverageEmployeesSalaryRequest">
<wsdl:part element="tns:GetAverageEmployeesSalary" name="parameters"/>
</wsdl:message>
<wsdl:message name="GetAverageEmployeesSalaryResponse">
<wsdl:part name="parameters" type="xsd:decimal" />
</wsdl:message>
<wsdl:message name="CalculateEmployeeBonusRequest">
<wsdl:part name="employeeId" type="xsd:long"></wsdl:part>
</wsdl:message>
<wsdl:message name="CalculateEmployeeBonusResponse">
<wsdl:part name="bonus" type="xsd:decimal"></wsdl:part>
</wsdl:message>
<wsdl:message name="GetAverageEmployeesSalaryRequest1">
<wsdl:part name="empty" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:portType name="SOAPWS">
<wsdl:operation name="GetAverageEmployeesSalary">
<wsdl:input
message="tns:GetAverageEmployeesSalaryRequest1">
</wsdl:input>
<wsdl:output message="tns:GetAverageEmployeesSalaryResponse" name="parameters"/>
</wsdl:operation>
<wsdl:operation name="CalculateEmployeeBonus">
<wsdl:input message="tns:CalculateEmployeeBonusRequest" name="employeeId"></wsdl:input>
<wsdl:output message="tns:CalculateEmployeeBonusResponse" name="bonus"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SOAPWSSOAP" type="tns:SOAPWS">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetAverageEmployeesSalary">
<soap:operation
soapAction="http://www.andre.dionisio.nom.br/SOAPWS/GetAverageEmployeesSalary" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="parameters">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CalculateEmployeeBonus">
<soap:operation
soapAction="http://www.andre.dionisio.nom.br/SOAPWS/CalculateEmployeeBonus" />
<wsdl:input name="employeeId">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="bonus">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SOAPWS">
<wsdl:port binding="tns:SOAPWSSOAP" name="SOAPWSSOAP">
<soap:address location="http://www.andre.dionisio.nom.br/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
请共享用于运行wsdl2java
的命令。在程序文件
下进行安装可能会有问题,因为路径中有空格。出于这个原因,我通常在C:/apps/
(或类似)下安装这些实用程序。为了解决这个问题,我将另一台机器放在名称中没有空格的路径中,并在两个wsdl的旧java 1.7.0_55-b13 java_home中运行。命令是wsdl2java SOAPWS.wsdl,对于另一个文件,我输入了一个名称old,因此命令是wsdl2java SOAPWSold.wsdl。将可执行文件放入一个没有空格的路径也解决了我的问题。