2015-06-03 42 views
1

試圖實現對客戶端的SOAP的Webservice,我需要一個WSDL文件通過的soapUI來測試服務。但正如你可以看到下面,此XSD沒有Request和Response方法,所有的請求和響應被定義爲一個基礎的ServiceProvider元素的「類型」。所以,當我嘗試自動生成彈簧-WS我的WSDL文件不生成正確的WSDL,因爲春天-WS要求所有的請求和響應元素名稱應以「請求」,「響應」結束。春-WS:如何從XSD創建WSDL沒有「請求」元素

我該怎麼辦?

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified" 
     attributeFormDefault="unqualified" targetNamespace="http://myurl" xmlns="http://myurl"> 

<xs:element name="ServiceProviderT" nillable="false"> 
    <xs:annotation> 
     <xs:documentation>ServiceProviderT is the message spec for data sent between TechX and service providers or 
      vendors</xs:documentation> 
       </xs:annotation> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="Version" type="xs:string" nillable="false"/> 
          <xs:choice> 
           <xs:element name="Request" type="RequestType" nillable="false"/> 
           <xs:element name="Response" type="ResponseType" nillable="false"/> 
           </xs:choice> 
            </xs:sequence> 
             </xs:complexType> 
              </xs:element> 
               .... 

這我如何生成WSDL文件

<sws:dynamic-wsdl id="myservice" 
    portTypeName="MyService" 
    locationUri="/myService" 
    targetNamespace="http://myurl"> 
    <sws:xsd location="/schemas/my.xsd"/> 
</sws:dynamic-wsdl> 
+1

我建議文檔的讀取...指定'requestSuffix'和'responseSuffix',默認的確是'Request'和'Response'但也可以是任何你喜歡的... –

回答

2

有沒有這樣的要求那些只是默認值。這是在Spring-WS參考手冊的說明here。它還解釋了要設置哪些屬性來覆蓋這些默認值。

默認請求後綴是Request;默認響應後綴是Response,雖然這些可以通過分別設置responseSuffix屬性分別在<dynamic-wsdl />上進行更改。

<sws:dynamic-wsdl id="myservice" 
    portTypeName="MyService" 
    locationUri="/myService" 
    requestSuffix="YourRequestSuffixHere" 
    responseSuffix="YourResponseSuffixHere" 
    targetNamespace="http://myurl"> 
    <sws:xsd location="/schemas/my.xsd"/> 
</sws:dynamic-wsdl> 
+0

我會很高興,如果你也可以看看這個:http://stackoverflow.com/questions/30666479/spring-ws-how-to-get-and-save-xsd-validation-errors – Spring

相關問題