I have defined a message and created a message based on the wsdl file using soupUi. Why does it report an error when I use the following command?
wsdl2java uri D: desktop OMService. wsdl - d adb - s - ss - sd - si - o D: desktop o in Axis2
I have checked multiple times and can't find where the problem is.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="CrmTestService" targetNamespace="xxxxxxxxxxxxxxxxxxxxx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="xxxxxxxxxxxxxxxxxxxxxxxxxx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema targetNamespace="http://oss.zsmart.ztesoft.com/om/webservice/types/">
<xsd:complexType name="timeFormat">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="TimeType" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="TimeZoneID" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="reqHeader">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="Version" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="BusinessCode" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="TransactionId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Channel" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="PartnerId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="BrandId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ReqTime" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="TimeFormat" type="tns:timeFormat"/>
<xsd:element maxOccurs="1" minOccurs="0" name="AccessUser" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="AccessPassword" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="OperatorId" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="queryOrder">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="OrderId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="StartTime" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="EndTime" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="requestHeader">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="Version" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="TransactionId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="SessionId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ProcessTime" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ContactId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="Language" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ChannelId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="TechnicalChannelId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="TenantId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="AccessUser" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="responseHeader">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="RetCode" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="RetMsg" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="RequestHeader" type="tns:requestHeader"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="queryOrderStatus">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="OrderId" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Status" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="QueryOrderStatusReqMsg">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ReqHeader" type="tns:reqHeader"/>
<xsd:element maxOccurs="1" minOccurs="1" name="QueryOrder" type="tns:queryOrder"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="QueryOrderStatusRspMsg">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ResponseHeader" type="tns:responseHeader"/>
<xsd:element maxOccurs="1" minOccurs="1" name="QueryOrderStatus" type="tns:queryOrderStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="queryOrderStatusRequest">
<wsdl:part name="parameters" element="tns:QueryOrderStatusReqMsg">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryOrderStatusResponse">
<wsdl:part name="parameters" element="tns:QueryOrderStatusRspMsg">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="CrmTestService">
<wsdl:operation name="queryOrderStatus">
<wsdl:input message="tns:queryOrderStatusRequest">
</wsdl:input>
<wsdl:output message="tns:queryOrderStatusResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<!-- 定义绑定 -->
<wsdl:binding name="CrmTestServiceSOAP" type="tns:CrmTestService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="queryOrderStatus">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:header/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<!-- 在这里添加更多的操作 -->
</wsdl:binding>
<!-- 定义服务 -->
<wsdl:service name="CrmTestService">
<wsdl:port name="CrmTestServiceSOAP" binding="tns:CrmTestServiceSOAP">
<soap:address location=""/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Using AXIS2_HOME: D:\soft\axis2\axis2-1.8.2
Using JAVA_HOME: C:\soft\Java\jdk1.8.0_161-1
Retrieving document at 'D:\desktop\OMService.wsdl'.
D:\soft\axis2\axis2-1.8.2\bin>wsdl2java -uri D:\desktop\CrmTestService.wsdl -d adb -s -ss -sd -ssi -o D:\desktop\o
Using AXIS2_HOME: D:\soft\axis2\axis2-1.8.2
Using JAVA_HOME: C:\soft\Java\jdk1.8.0_161-1
Retrieving document at 'D:\desktop\CrmTestService.wsdl'.
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
at org.apache.axis2.wsdl.codegen.CodeGenConfiguration.loadWsdl(CodeGenConfiguration.java:748)
at org.apache.axis2.wsdl.codegen.CodegenConfigLoader.loadConfig(CodegenConfigLoader.java:328)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:53)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: org.apache.axis2.AxisFault: message null not found in the WSDL
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.copyExtensibleElements(WSDL11ToAxisServiceBuilder.java:2665)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBinding(WSDL11ToAxisServiceBuilder.java:709)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoint(WSDL11ToAxisServiceBuilder.java:547)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints(WSDL11ToAxisServiceBuilder.java:499)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:370)