当前位置: 首页 > 知识库问答 >
问题:

Spring Boot-SOAP WebService不显示WSDL

狄凯
2023-03-14

我需要使用Spring创建一个SOAP web服务。我一直在关注Spring官方网站上的教程:https://Spring.io/guides/gs/production-web-service/

我已经成功地在本地计算机上部署了该教程中的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>

最后是我主要的Spring-Boot类:

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

控制台什么也没显示。请让我知道我做错了什么。可能是XSD模式,也可能是endpoint,或者是WebServiceConfig。任何形式的帮助都将不胜感激。

共有1个答案

陈阳舒
2023-03-14

我发现问题了。它与XSD模式相关。出于某种原因,Spring不喜欢在单独的元素中定义请求或响应对象。我的意思是,我必须使用 而不是

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

非常感谢那些试图帮助我的人。我真的很感激你愿意帮助别人。

 类似资料:
  • 我已经为我的spring boot应用程序配置了测微计和prometheus,我可以在endpoint/执行器/prometheus处看到以下指标(使用计时器生成): 但当我在Grafana中运行其中一个查询(针对prometheus实例配置)时,我没有看到任何结果。 这需要任何配置吗?

  • 文件:/springboot1_firstwebapp/pom.xml

  • 我有一个rest应用程序,它使用带有tomcat嵌入的spring boot 1.4.2 在客户端,用户可以通过网络摄像头拍照并保存到服务器。 在服务器端,我保存img的例子: /home/test/img/ 在我的Web应用程序中,我需要设置什么才能显示图像?

  • 单击时,我的应用可在相机和图库之间进行选择,然后该图片将显示在 ImageView 中。我最初尝试显示完整图像,然后尝试使用位图方式,但没有任何效果。我只是得到一个空白的图像视图。请给我一些关于我做错了什么的指导,并在必要时要求澄清: 相机/画廊照片代码:

  • Android Studio 3.4 styles.xml 在清单中: 在activity: 这里是布局: 但工具栏未显示:

  • 问题内容: 我正在尝试请求权限以获取用户的当前位置。 我的日志记录表明,在查询时,我的应用当前没有此权限,但是在不调用任何内容时,则显示。 我的Google地图代码(实现和)位于中。 我设法使该功能在该应用程序的其他“活动”中成功运行,这只是带有Google地图的功能。将其放在或中的方法中(它需要去的地方),该方法不起作用。 有任何想法吗?这与我的Activity的类()有关,还是与Google地

  • 导致问题的两个endpoint位于根路径上,并且URL中只有一个path参数。它们都在一个具有@requestmapping(“/”)的控制器中,并对它们进行注释; 这两个endpoint工作正常,只是在Swagger呈现HTML时引起了一些问题。如果我删除它们,将显示HTML。我已经尝试将它们自己移动到控制器中,看看是否可以阻止swagger在swagger配置中访问它们。但是,它们似乎只需要存

  • 我想在ArrayList中添加一个名称,但是当我调用put方法时,console.log显示了一个get方法。 当我调用url时 但它应该是put方法,而不是get方法,这有什么错?