情况是这样的我用myeclipse 的插件根据wsd文件逆向生成的服务端文件,请求这个服务就报
org.apache.axis2.databinding.ADBException: Unexpected subelement servParamInfo  错误
WSDL文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.chinamobile.com/vgop/serviceorder/v1_0" xmlns:ns1="http://www.chinamobile.com/vgop/serviceorder/v1_0/common" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.chinamobile.com/vgop/serviceorder" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <wsdl:types>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.chinamobile.com/vgop/serviceorder/v1_0/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema">      <xsd:complexType name="AddressInfo">
        <xsd:sequence>
          <xsd:element minOccurs="1" name="platType" type="xsd:string"/>
          <xsd:element minOccurs="1" name="provType" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="sendAddress" nillable="false" type="ns1:AddressInfo"/>
      <xsd:element name="destAddress" nillable="false" type="ns1:AddressInfo"/>
      <xsd:element name="originalAddress" nillable="false" type="ns1:AddressInfo"/>
      <xsd:element name="msgName" nillable="false" type="xsd:string"/>
      <xsd:element name="transactionID" nillable="false" type="xsd:string"/>
      <xsd:element name="timeStamp" nillable="false" type="xsd:string"/>
      <xsd:element name="version" nillable="false" type="xsd:string"/>
    
    <xsd:complexType name="BatchSubscribeServCfmReq">
      <xsd:sequence>
        <xsd:element minOccurs="1" name="msgTransactionID" type="xsd:string"/>
        <xsd:element minOccurs="1" name="oprTime" type="xsd:string"/>
        <xsd:element minOccurs="1" name="receivedSum" type="xsd:int"/>
        <xsd:element minOccurs="1" name="succSum" type="xsd:int"/>
        <xsd:element minOccurs="1" name="failedSum" type="xsd:int"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" name="failedDetail" type="ns1:FailedReason"/>        
        <xsd:element maxOccurs="unbounded" minOccurs="0" name="batchServParamInfo" type="ns1:BatchServParamInfo"/>
      </xsd:sequence>
    </xsd:complexType>  

解决方案 »

  1.   


        <xsd:complexType name="BatchServParamInfo">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="oprNumb" type="xsd:string"/>
            <xsd:element minOccurs="1" name="servParamInfo" type="ns1:ServParamInfo"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="ServParamInfo">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="para_num" type="xsd:int"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="para_info" type="ns1:ParamInfo"/>
          </xsd:sequence>
        </xsd:complexType>    <xsd:complexType name="ParamInfo">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="para_name" type="xsd:string"/>
            <xsd:element minOccurs="1" name="para_value" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>    <xsd:complexType name="FailedReason">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="oprNumb" type="xsd:string"/>
            <xsd:element minOccurs="1" name="reason" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="BatchSubscribeServCfmResp">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="result" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="BatchSyncOrderRelationReq">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="reqNum" type="xsd:int"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="reqBody" type="ns1:BatchSubElement"/>
          </xsd:sequence>
        </xsd:complexType>    <xsd:complexType name="BatchSubElement">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="oprNumb" type="xsd:string"/>
            <xsd:element minOccurs="1" name="subscription" type="ns1:SubscriptionInfo"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="SubscriptionInfo">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="oprTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="actionID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="effTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="expireTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="feeUser_ID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="destUser_ID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="actionReasonID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="servType" type="xsd:string"/>
            <xsd:element minOccurs="1" name="subServType" type="xsd:string"/>
            <xsd:element minOccurs="0" name="SPID" type="xsd:string"/>
            <xsd:element minOccurs="0" name="SPServID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="accessMode" type="xsd:string"/>
            <xsd:element minOccurs="0" name="servParamInfo" type="ns1:ServParamInfo"/>
            <xsd:element minOccurs="1" name="feeType" type="xsd:string"/>   
          </xsd:sequence>
        </xsd:complexType>   <xsd:complexType name="QuerySubscriptionInfo">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="oprTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="effTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="expireTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="feeUser_ID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="destUser_ID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="actionReasonID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="servType" type="xsd:string"/>
            <xsd:element minOccurs="1" name="subServType" type="xsd:string"/>
            <xsd:element minOccurs="0" name="SPID" type="xsd:string"/>
            <xsd:element minOccurs="0" name="SPServID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="status" type="xsd:string"/>
            <xsd:element minOccurs="1" name="accessMode" type="xsd:string"/>
            <xsd:element minOccurs="0" name="servParamInfo" type="ns1:ServParamInfo"/>
            <xsd:element minOccurs="1" name="feeType" type="xsd:string"/>   
          </xsd:sequence>
       </xsd:complexType>
        
        <xsd:complexType name="BatchSyncOrderRelationResp">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="result" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      

  2.   

    <xsd:complexType name="SubscribeServCfmReq">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="msgTransactionID" type="xsd:string"/>
            <xsd:element minOccurs="1" name="oprTime" type="xsd:string"/>
            <xsd:element minOccurs="1" name="cfmResult" type="xsd:string"/>        
            <xsd:element minOccurs="0" name="servParamInfo" type="ns1:ServParamInfo"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="SubscribeServCfmResp">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="result" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="SyncOrderRelationReq">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="subscriptionInfo" type="ns1:SubscriptionInfo"/>
          </xsd:sequence>
        </xsd:complexType>
        
        <xsd:complexType name="SyncOrderRelationResp">
          <xsd:sequence>
            <xsd:element minOccurs="1" name="result" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>   <xsd:complexType name="QueryOrderRelationReq">
          <xsd:sequence>
             <xsd:element minOccurs="1" name="reqNum" type="xsd:int"/>
             <xsd:element maxOccurs="unbounded" minOccurs="1" name="user_ID" type="xsd:string"/>
          </xsd:sequence>
       </xsd:complexType>
       <xsd:complexType name="QueryOrderRelationResp">
          <xsd:sequence>
             <xsd:element minOccurs="1" name="result" type="xsd:int"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="querySubscriptionInfo" type="ns1:QuerySubscriptionInfo"/>
          </xsd:sequence>
       </xsd:complexType>
        
        </xsd:schema>
        <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.chinamobile.com/vgop/serviceorder/v1_0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          
        <xsd:element name="batchSubscribeServCfm">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="batchSubscribeServCfmReq" type="ns1:BatchSubscribeServCfmReq"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="batchSubscribeServCfmResponse">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="batchSubscribeServCfmResp" type="ns1:BatchSubscribeServCfmResp"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="batchSyncOrderRelation">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="batchSyncOrderRelationReq" type="ns1:BatchSyncOrderRelationReq"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="batchSyncOrderRelationResponse">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="batchSyncOrderRelationResp" type="ns1:BatchSyncOrderRelationResp"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="subscribeServCfm">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="subscribeServCfmReq" type="ns1:SubscribeServCfmReq"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>         
        
        <xsd:element name="subscribeServCfmResponse">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="subscribeServCfmResp" type="ns1:SubscribeServCfmResp"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="syncOrderRelation">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="syncOrderRelationReq" type="ns1:SyncOrderRelationReq"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        
        <xsd:element name="syncOrderRelationResponse">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="syncOrderRelationResp" type="ns1:SyncOrderRelationResp"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      

  3.   

    <xsd:element name="queryOrderRelation">
          <xsd:complexType>
             <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="queryOrderRelationReq" type="ns1:QueryOrderRelationReq"/>
             </xsd:sequence>
          </xsd:complexType>
       </xsd:element>
       <xsd:element name="queryOrderRelationResponse">
          <xsd:complexType>
             <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="queryOrderRelationResp" type="ns1:QueryOrderRelationResp"/>
             </xsd:sequence>
          </xsd:complexType>
       </xsd:element>
        
        </xsd:schema>
      </wsdl:types>
      <wsdl:message name="subscribeServCfmRequest">
        <wsdl:part name="parameters" element="tns:subscribeServCfm">
        </wsdl:part>
        <wsdl:part name="msgName" element="ns1:msgName">
        </wsdl:part>
        <wsdl:part name="transactionID" element="ns1:transactionID">
        </wsdl:part>
        <wsdl:part name="version" element="ns1:version">
        </wsdl:part>
        <wsdl:part name="sendAddress" element="ns1:sendAddress">
        </wsdl:part>
        <wsdl:part name="destAddress" element="ns1:destAddress">
        </wsdl:part>
        <wsdl:part name="originalAddress" element="ns1:originalAddress">
        </wsdl:part>
        <wsdl:part name="timeStamp" element="ns1:timeStamp">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="subscribeServCfmResponse">
        <wsdl:part name="parameters" element="tns:subscribeServCfmResponse">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="batchSyncOrderRelationRequest">
        <wsdl:part name="parameters" element="tns:batchSyncOrderRelation">
        </wsdl:part>
        <wsdl:part name="msgName" element="ns1:msgName">
        </wsdl:part>
        <wsdl:part name="transactionID" element="ns1:transactionID">
        </wsdl:part>
        <wsdl:part name="version" element="ns1:version">
        </wsdl:part>
        <wsdl:part name="sendAddress" element="ns1:sendAddress">
        </wsdl:part>
        <wsdl:part name="destAddress" element="ns1:destAddress">
        </wsdl:part>
        <wsdl:part name="originalAddress" element="ns1:originalAddress">
        </wsdl:part>
        <wsdl:part name="timeStamp" element="ns1:timeStamp">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="syncOrderRelationRequest">
        <wsdl:part name="parameters" element="tns:syncOrderRelation">
        </wsdl:part>
        <wsdl:part name="msgName" element="ns1:msgName">
        </wsdl:part>
        <wsdl:part name="transactionID" element="ns1:transactionID">
        </wsdl:part>
        <wsdl:part name="version" element="ns1:version">
        </wsdl:part>
        <wsdl:part name="sendAddress" element="ns1:sendAddress">
        </wsdl:part>
        <wsdl:part name="destAddress" element="ns1:destAddress">
        </wsdl:part>
        <wsdl:part name="originalAddress" element="ns1:originalAddress">
        </wsdl:part>
        <wsdl:part name="timeStamp" element="ns1:timeStamp">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="batchSyncOrderRelationResponse">
        <wsdl:part name="parameters" element="tns:batchSyncOrderRelationResponse">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="batchSubscribeServCfmRequest">
        <wsdl:part name="parameters" element="tns:batchSubscribeServCfm">
        </wsdl:part>
        <wsdl:part name="msgName" element="ns1:msgName">
        </wsdl:part>
        <wsdl:part name="transactionID" element="ns1:transactionID">
        </wsdl:part>
        <wsdl:part name="version" element="ns1:version">
        </wsdl:part>
        <wsdl:part name="sendAddress" element="ns1:sendAddress">
        </wsdl:part>
        <wsdl:part name="destAddress" element="ns1:destAddress">
        </wsdl:part>
        <wsdl:part name="originalAddress" element="ns1:originalAddress">
        </wsdl:part>
        <wsdl:part name="timeStamp" element="ns1:timeStamp">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="queryOrderRelationResponse">
        <wsdl:part name="parameters" element="tns:queryOrderRelationResponse">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="syncOrderRelationResponse">
        <wsdl:part name="parameters" element="tns:syncOrderRelationResponse">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="queryOrderRelationRequest">
        <wsdl:part name="parameters" element="tns:queryOrderRelation">
        </wsdl:part>
        <wsdl:part name="msgName" element="ns1:msgName">
        </wsdl:part>
        <wsdl:part name="transactionID" element="ns1:transactionID">
        </wsdl:part>
        <wsdl:part name="version" element="ns1:version">
        </wsdl:part>
        <wsdl:part name="sendAddress" element="ns1:sendAddress">
        </wsdl:part>
        <wsdl:part name="destAddress" element="ns1:destAddress">
        </wsdl:part>
        <wsdl:part name="originalAddress" element="ns1:originalAddress">
        </wsdl:part>
        <wsdl:part name="timeStamp" element="ns1:timeStamp">
        </wsdl:part>
      </wsdl:message>
      <wsdl:message name="batchSubscribeServCfmResponse">
        <wsdl:part name="parameters" element="tns:batchSubscribeServCfmResponse">
        </wsdl:part>
      </wsdl:message>
      <wsdl:portType name="OrderRelationServicePortType">
        <wsdl:operation name="batchSubscribeServCfm">
          <wsdl:input name="batchSubscribeServCfmRequest" message="tns:batchSubscribeServCfmRequest">
        </wsdl:input>