Caused by: org.apache.axis2.AxisFault: message null not found in the WSDL

142 Views Asked by At

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)
0

There are 0 best solutions below