2015-10-14 41 views
1

我需要使用Spring創建SOAP Web服務。我一直在關注Spring官方網站的教程:https://spring.io/guides/gs/producing-web-service/Spring Boot - SOAP WebService不顯示WSDL

我已經在本地機器上成功部署了該教程中的SOAP Web服務,並且可以從瀏覽器成功訪問WSDL定義。之後,我嘗試使用現有的XSD架構,但當我嘗試訪問WSDL定義並且控制檯未顯示任何類型的錯誤時,它不起作用。

這是我的XSD架構:

<xs:schema version="1.0" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns="http://worldwide.com/p44" 
    targetNamespace="http://worldwide.com/p44" 
    elementFormDefault="qualified"> 

    <xs:element name="DispatchRequest" type="DispatchRequestType"/> 
    <xs:element name="DispatchResponse" type="DispatchResponseType"/> 
    <xs:element name="RateQuoteResponse" type="rateQuoteResponse"/> 
    <xs:element name="RateQuotes" type="rateQuoteResponseList"/> 
    <xs:element name="RateRequest" type="RateRequest"/> 
    <xs:element name="TrackingResponse" type="trackingResponseList"/> 
    <xs:element name="TrackingResult" type="TrackingResultType"/> 
    <xs:element name="change" type="mergeRecord"/> 
    <xs:element name="error" type="serviceError"/> 
    <xs:element name="rateDetail" type="rateDetail"/> 
    <xs:complexType name="trackingResponseList"> 
    <xs:sequence> 
     <xs:element name="errors" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element ref="error" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="shipmentInfo" type="TrackingResultType" minOccurs="0" maxOccurs="unbounded"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="serviceError"> 
    <xs:sequence> 
     <xs:element name="errorCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="errorMessage" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendorErrorCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendorErrorMessage" type="xs:string" minOccurs="0"/> 
     <xs:element name="message" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="TrackingResultType"> 
    <xs:sequence> 
     <xs:element name="lastUpdated" type="xs:string" minOccurs="0"/> 
     <xs:element name="actualDeliveryDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="appointmentDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="appointmentDateEnd" type="xs:string" minOccurs="0"/> 
     <xs:element name="billTo" type="addressInfo" minOccurs="0"/> 
     <xs:element name="bolNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="carrierNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="carrierScac" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipmentId" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipper" type="addressInfo" minOccurs="0"/> 
     <xs:element name="consignee" type="addressInfo" minOccurs="0"/> 
     <xs:element name="consigneeAccount" type="xs:string" minOccurs="0"/> 
     <xs:element name="currentStatus" type="trackingStatus" minOccurs="0"/> 
     <xs:element name="originTerminal" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="destinationTerminal" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="disclaimer" type="xs:string" minOccurs="0"/> 
     <xs:element name="errors" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element ref="error" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="estimatedDeliveryDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="invoiceStatus" type="xs:string" minOccurs="0"/> 
     <xs:element name="items" type="trackingItem" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="nextTerminal" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="notifyContact" type="xs:string" minOccurs="0"/> 
     <xs:element name="numPieces" type="xs:int" minOccurs="0"/> 
     <xs:element name="otherBOLNums" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="otherPONums" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="parentPro" type="xs:string" minOccurs="0"/> 
     <xs:element name="paymentTerms" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="poNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="proNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="receivedBy" type="xs:string" minOccurs="0"/> 
     <xs:element name="receivedByDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="serviceType" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipmentExceptions" type="exceptionStatus" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="shipperAccount" type="xs:string" minOccurs="0"/> 
     <xs:element name="statusHistory" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="status" type="trackingStatus" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="totalQuantity" type="xs:int" minOccurs="0"/> 
     <xs:element name="totalWeight" type="xs:int" minOccurs="0"/> 
     <xs:element name="trailerNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendor" type="xs:string" minOccurs="0"/> 
     <xs:element name="images" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="imageRecord" type="imageRecord" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="changeLog" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element ref="change" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="addressInfo"> 
    <xs:sequence> 
     <xs:element name="address1" type="xs:string" minOccurs="0"/> 
     <xs:element name="address2" type="xs:string" minOccurs="0"/> 
     <xs:element name="address3" type="xs:string" minOccurs="0"/> 
     <xs:element name="companyName" type="xs:string" minOccurs="0"/> 
     <xs:element name="contactName" type="xs:string" minOccurs="0"/> 
     <xs:element name="city" type="xs:string" minOccurs="0"/> 
     <xs:element name="stateName" type="xs:string" minOccurs="0"/> 
     <xs:element name="country" type="xs:string" minOccurs="0"/> 
     <xs:element name="postalCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="phoneNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="phoneNumber2" type="xs:string" minOccurs="0"/> 
     <xs:element name="email" type="xs:string" minOccurs="0"/> 
     <xs:element name="faxNumber" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="trackingStatus"> 
    <xs:sequence> 
     <xs:element name="code" type="xs:string" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
     <xs:element name="city" type="xs:string" minOccurs="0"/> 
     <xs:element name="stateName" type="xs:string" minOccurs="0"/> 
     <xs:element name="interlineScac" type="xs:string" minOccurs="0"/> 
     <xs:element name="location" type="xs:string" minOccurs="0"/> 
     <xs:element name="notes" type="xs:string" minOccurs="0"/> 
     <xs:element name="serviceCenter" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="timestamp" type="xs:string" minOccurs="0"/> 
     <xs:element name="updateTime" type="xs:dateTime" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="terminalInfo"> 
    <xs:complexContent> 
     <xs:extension base="addressInfo"> 
     <xs:sequence> 
      <xs:element name="terminalId" type="xs:string" minOccurs="0"/> 
      <xs:element name="terminalName" type="xs:string" minOccurs="0"/> 
      <xs:element name="terminalNumber" type="xs:string" minOccurs="0"/> 
      <xs:element name="terminalCarrier" type="xs:string" minOccurs="0"/> 
     </xs:sequence> 
     </xs:extension> 
    </xs:complexContent> 
    </xs:complexType> 

    <xs:complexType name="trackingItem"> 
    <xs:sequence> 
     <xs:element name="amount" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
     <xs:element name="descriptionCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="freightClass" type="xs:string" minOccurs="0"/> 
     <xs:element name="pieces" type="xs:int" minOccurs="0"/> 
     <xs:element name="rate" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="weight" type="xs:int" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="exceptionStatus"> 
    <xs:complexContent> 
     <xs:extension base="trackingStatus"> 
     <xs:sequence/> 
     </xs:extension> 
    </xs:complexContent> 
    </xs:complexType> 

    <xs:complexType name="imageRecord"> 
    <xs:sequence> 
     <xs:element name="imageType" type="imageType" minOccurs="0"/> 
     <xs:element name="imageFormat" type="imageFormat" minOccurs="0"/> 
     <xs:element name="imageLink" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="mergeRecord"> 
    <xs:sequence> 
     <xs:element name="name" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="RateRequest"> 
    <xs:sequence> 
     <xs:element name="timeout" type="xs:int"/> 
     <xs:element name="shipDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipTimeStart" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipTimeEnd" type="xs:string" minOccurs="0"/> 
     <xs:element name="returnMultiple" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="loginGroupKey" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="delTimeStart" type="xs:string" minOccurs="0"/> 
     <xs:element name="delTimeEnd" type="xs:string" minOccurs="0"/> 
     <xs:element name="destination" type="addressInfo" minOccurs="0"/> 
     <xs:element name="origin" type="addressInfo" minOccurs="0"/> 
     <xs:element name="billTo" type="addressInfo" minOccurs="0"/> 
     <xs:element name="accountNumbers"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="entry" minOccurs="0" maxOccurs="unbounded"> 
       <xs:complexType> 
       <xs:sequence> 
        <xs:element name="key" minOccurs="0" type="xs:string"/> 
        <xs:element name="value" minOccurs="0" type="xs:string"/> 
       </xs:sequence> 
       </xs:complexType> 
      </xs:element> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="accountConfigs" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="account" type="accountConfigType" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="lineItems" type="rateQuoteLineImpl" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="accessorials" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="cubicFeet" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="defaultLogins" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="mapChargeCodes" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="requestedScacs" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="limitByScacs" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="items" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="item" type="rateQuoteLineImpl" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="accountConfigType"> 
    <xs:sequence> 
     <xs:element name="vendorCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="siteLoginName" type="xs:string" minOccurs="0"/> 
     <xs:element name="defaultAccount" type="xs:string" minOccurs="0"/> 
     <xs:element name="accountNumber2" type="xs:string" minOccurs="0"/> 
     <xs:element name="credentials" type="xs:string" minOccurs="0"/> 
     <xs:element name="paymentTerms" type="xs:string" minOccurs="0"/> 
     <xs:element name="authKey" type="xs:string" minOccurs="0"/> 
     <xs:element name="authKey2" type="xs:string" minOccurs="0"/> 
     <xs:element name="shipmentTerms" type="xs:string" minOccurs="0"/> 
     <xs:element name="inboundPayTerms" type="xs:string" minOccurs="0"/> 
     <xs:element name="outboundPayTerms" type="xs:string" minOccurs="0"/> 
     <xs:element name="direction" type="xs:string" minOccurs="0"/> 
     <xs:element name="paymentType" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="rateQuoteLineImpl"> 
    <xs:sequence> 
     <xs:element name="nmfcItem" type="xs:string" minOccurs="0"/> 
     <xs:element name="nmfcSub" type="xs:string" minOccurs="0"/> 
     <xs:element name="weight" type="xs:string" minOccurs="0"/> 
     <xs:element name="weightUnit" type="xs:string" minOccurs="0"/> 
     <xs:element name="freightClass" type="xs:string" minOccurs="0"/> 
     <xs:element name="length" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="width" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="height" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="dimUnit" type="xs:string" minOccurs="0"/> 
     <xs:element name="palletCount" type="xs:int" minOccurs="0"/> 
     <xs:element name="numPieces" type="xs:int" minOccurs="0"/> 
     <xs:element name="pieceType" type="xs:string" minOccurs="0"/> 
     <xs:element name="packageType" type="xs:string" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
     <xs:element name="stackable" type="xs:boolean"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="DispatchResponseType"> 
    <xs:sequence> 
     <xs:element name="errors" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element ref="error" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="bolLink" type="xs:string" minOccurs="0"/> 
     <xs:element name="carrierBolLink" type="xs:string" minOccurs="0"/> 
     <xs:element name="contactName" type="xs:string" minOccurs="0"/> 
     <xs:element name="debtor" type="xs:string" minOccurs="0"/> 
     <xs:element name="origin" type="addressInfo" minOccurs="0"/> 
     <xs:element name="destination" type="addressInfo" minOccurs="0"/> 
     <xs:element name="dockCloseTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="labelLink" type="xs:string" minOccurs="0"/> 
     <xs:element name="lineItems" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="item" type="lineItem" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="pickupDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="poNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="proNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteDateTime" type="xs:dateTime" minOccurs="0"/> 
     <xs:element name="quoteNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteTotal" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="quoteVersion" type="xs:string" minOccurs="0"/> 
     <xs:element name="referenceNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="scac" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendor" type="xs:string" minOccurs="0"/> 
     <xs:element name="transitTime" type="xs:int" minOccurs="0"/> 
     <xs:element name="serviceTypeCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="serviceTypeDescription" type="xs:string" minOccurs="0"/> 
     <xs:element name="stopNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="terminalCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="terminalPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="trackingNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="requestId" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendorNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="barcodeNumber" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="lineItem"> 
    <xs:sequence> 
     <xs:element name="code" type="xs:string" minOccurs="0"/> 
     <xs:element name="quantity" type="xs:int"/> 
     <xs:element name="weight" type="xs:int"/> 
     <xs:element name="hazmatId" type="xs:string" minOccurs="0"/> 
     <xs:element name="shippingName" type="xs:string" minOccurs="0"/> 
     <xs:element name="hazmatClass" type="xs:string" minOccurs="0"/> 
     <xs:element name="packagingGroup" type="xs:string" minOccurs="0"/> 
     <xs:element name="weightUnit" type="xs:string" minOccurs="0"/> 
     <xs:element name="freightClass" type="xs:string" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
     <xs:element name="hazmat" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="pieces" type="xs:int"/> 
     <xs:element name="packageType" type="xs:string" minOccurs="0"/> 
     <xs:element name="length" type="xs:int" minOccurs="0"/> 
     <xs:element name="width" type="xs:int" minOccurs="0"/> 
     <xs:element name="height" type="xs:int" minOccurs="0"/> 
     <xs:element name="density" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="nmfcItem" type="xs:string" minOccurs="0"/> 
     <xs:element name="nmfcSub" type="xs:string" minOccurs="0"/> 
     <xs:element name="stackable" type="xs:boolean"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="DispatchRequestType"> 
    <xs:sequence> 
     <xs:element name="vendorCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="accountConfig" type="accountConfigType" minOccurs="0"/> 
     <xs:element name="accountNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="contractId" type="xs:string" minOccurs="0"/> 
     <xs:element name="loginGroupKey" type="xs:string" minOccurs="0"/> 
     <xs:element name="emergencyContact" type="xs:string" minOccurs="0"/> 
     <xs:element name="emergencyPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="referenceNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="proNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="scac" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolPDFContent" type="xs:string" minOccurs="0"/> 
     <xs:element name="createBOL" type="xs:boolean"/> 
     <xs:element name="quoteTotal" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="requestBOL" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="origin" type="addressInfo" minOccurs="0"/> 
     <xs:element name="destination" type="addressInfo" minOccurs="0"/> 
     <xs:element name="lineItems" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="item" type="lineItem" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="pickupNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="dockCloseTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="billTo" type="addressInfo" minOccurs="0"/> 
     <xs:element name="requester" type="addressInfo" minOccurs="0"/> 
     <xs:element name="poNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolContactPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupContactName" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryContact" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryContactPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupEmail" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupContactCompany" type="xs:string" minOccurs="0"/> 
     <xs:element name="accessorials" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="emailBOLShip" type="xs:boolean"/> 
     <xs:element name="emailNotifyShip" type="xs:boolean"/> 
     <xs:element name="emailApptShip" type="xs:boolean"/> 
     <xs:element name="emailDelivShip" type="xs:boolean"/> 
     <xs:element name="emailBOLCons" type="xs:boolean"/> 
     <xs:element name="emailNotifyCons" type="xs:boolean"/> 
     <xs:element name="emailApptCons" type="xs:boolean"/> 
     <xs:element name="emailDelivCons" type="xs:boolean"/> 
     <xs:element name="emailConfirm" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="pickupStartTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupEndTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryStartTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryEndTime" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="rateQuoteResponseList"> 
    <xs:sequence> 
     <xs:element name="rateQuote" type="rateQuoteResponse" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element name="loginGroupKey" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="rateQuoteResponse"> 
    <xs:sequence> 
     <xs:element name="scac" type="xs:string" minOccurs="0"/> 
     <xs:element name="vendor" type="xs:string" minOccurs="0"/> 
     <xs:element name="contractId" type="xs:string" minOccurs="0"/> 
     <xs:element name="originTerminal" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="destinationTerminal" type="terminalInfo" minOccurs="0"/> 
     <xs:element name="errors" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element ref="error" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="carrierNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="expirationDate" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteDate" type="xs:string" minOccurs="0"/> 
     <xs:element ref="rateDetail" minOccurs="0"/> 
     <xs:element name="serviceType" type="xs:string" minOccurs="0"/> 
     <xs:element name="totalPallets" type="xs:int" minOccurs="0"/> 
     <xs:element name="totalPieces" type="xs:int" minOccurs="0"/> 
     <xs:element name="totalWeight" type="xs:int" minOccurs="0"/> 
     <xs:element name="transitTime" type="xs:int" minOccurs="0"/> 
     <xs:element name="alternateRates" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="alternateRate" type="rateDetail" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="rateDetail"> 
    <xs:sequence> 
     <xs:element name="rateAdjustments" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="rateAdjustment" type="rateAdjustment" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="total" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="subtotal" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="deliveryDate" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="rateAdjustment"> 
    <xs:sequence> 
     <xs:element name="freightClass" type="xs:string" minOccurs="0"/> 
     <xs:element name="weight" type="xs:int" minOccurs="0"/> 
     <xs:element name="pieces" type="xs:int" minOccurs="0"/> 
     <xs:element name="description" type="xs:string" minOccurs="0"/> 
     <xs:element name="descriptionCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="amount" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="rate" type="xs:decimal" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:simpleType name="imageType"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="BOL"/> 
     <xs:enumeration value="INVOICE"/> 
     <xs:enumeration value="DR"/> 
     <xs:enumeration value="WCERT"/> 
    </xs:restriction> 
    </xs:simpleType> 

    <xs:simpleType name="imageFormat"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="PNG"/> 
     <xs:enumeration value="TIF"/> 
     <xs:enumeration value="PDF"/> 
     <xs:enumeration value="JPG"/> 
     <xs:enumeration value="GIF"/> 
    </xs:restriction> 
    </xs:simpleType> 

最後我的主彈簧Boot類:

@SpringBootApplication 
public class Application { 
    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

我知道這是一個大的XSD架構,但我完全失去了。正如你所看到的,我遵循的是我之前提到的Spring網站的示例(使用Maven,但是因爲我現在不需要它就跳過了Repository),但仍然無法使其工作與我需要的信息。

從這個模式中的類產生的罰款。問題是,當我從我的項目路線執行mvn spring-boot:run命令時,控制檯中沒有錯誤,但是當我試圖在http://localhost:8080/ws/dispatch?wsdl上訪問我的WSDL文件時,瀏覽器只是說:

Whitelabel Error Page

該應用對/錯誤沒有明確的映射,所以你看到這個作爲後備。

Wed Oct 14 09:24:31 CDT 2015 有一個意外的錯誤(type = Not Found,status = 404)。 無

消息和控制檯顯示什麼。請讓我知道我做錯了什麼。也許它是XSD架構,或者可能是端點,也可能是WebServiceConfig。任何形式的幫助將非常感激。

+0

做您嘗試訪問到:http://10.0.1.45:8080/ws/dispatch?wsdl,使用的.wsdl –

+0

你好梅利的WSDL inestead?非常感謝你回答。我對我的錯誤表示歉意,我的意思是http:// localhost:8080/ws/dispatch?wsdl我將立即糾正我的帖子,謝謝。 – Gabriel

+0

所以你正在使用?wsdl?服務的生成結束了嗎?你是否嘗試使用soap ui來查看服務? –

回答

0

我發現了這個問題。它與XSD架構有關。出於某種原因,Spring不喜歡請求或響應對象在單獨的元素中定義。我的意思是不是<xs:element name="DispatchRequest" type="DispatchRequestType"/>,我不得不使用

<xs:element name="DispatchRequest"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="vendorCode" type="xs:string" minOccurs="0"/> 
     <xs:element name="accountConfig" type="tns:accountConfigType" minOccurs="0"/> 
     <xs:element name="accountNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="contractId" type="xs:string" minOccurs="0"/> 
     <xs:element name="loginGroupKey" type="xs:string" minOccurs="0"/> 
     <xs:element name="emergencyContact" type="xs:string" minOccurs="0"/> 
     <xs:element name="emergencyPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="referenceNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="proNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="scac" type="xs:string" minOccurs="0"/> 
     <xs:element name="quoteNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolPDFContent" type="xs:string" minOccurs="0"/> 
     <xs:element name="createBOL" type="xs:boolean"/> 
     <xs:element name="quoteTotal" type="xs:decimal" minOccurs="0"/> 
     <xs:element name="requestBOL" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="origin" type="tns:addressInfo" minOccurs="0"/> 
     <xs:element name="destination" type="tns:addressInfo" minOccurs="0"/> 
     <xs:element name="lineItems" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="item" type="tns:lineItem" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="pickupNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryNote" type="xs:string" minOccurs="0"/> 
     <xs:element name="dockCloseTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="billTo" type="tns:addressInfo" minOccurs="0"/> 
     <xs:element name="requester" type="tns:addressInfo" minOccurs="0"/> 
     <xs:element name="poNumber" type="xs:string" minOccurs="0"/> 
     <xs:element name="bolContactPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryDateTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupContactName" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryContact" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryContactPhone" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupEmail" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupContactCompany" type="xs:string" minOccurs="0"/> 
     <xs:element name="accessorials" minOccurs="0"> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> 
     <xs:element name="emailBOLShip" type="xs:boolean"/> 
     <xs:element name="emailNotifyShip" type="xs:boolean"/> 
     <xs:element name="emailApptShip" type="xs:boolean"/> 
     <xs:element name="emailDelivShip" type="xs:boolean"/> 
     <xs:element name="emailBOLCons" type="xs:boolean"/> 
     <xs:element name="emailNotifyCons" type="xs:boolean"/> 
     <xs:element name="emailApptCons" type="xs:boolean"/> 
     <xs:element name="emailDelivCons" type="xs:boolean"/> 
     <xs:element name="emailConfirm" type="xs:boolean" minOccurs="0"/> 
     <xs:element name="pickupStartTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="pickupEndTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryStartTime" type="xs:string" minOccurs="0"/> 
     <xs:element name="deliveryEndTime" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

非常感謝你給那些試圖幫助我。我非常感謝你願意幫助別人。