Spring WS靜態WSDL
在前一章Spring-WS入門程序中,我們使用Spring WS Configuration自動生成了WSDL。 在這篇教程文章中,我們將演示如何使用Spring WS公開一個WSDL。
本教程是在Spring-WS入門程序教程的基礎上修改編寫的。
請參考以下步驟:
第1步: 按照Spring-WS入門程序章節的介紹,在leaveService
項目下創建一個名稱爲:com.yiibai
的包。
第2步: 在/WEB-INF/wsdl
子文件夾下創建一個WSDL文件,名稱爲: leave.wsdl
。
第3步: 更新/WEB-INF
子文件夾下的文件:spring-ws-servlet.xml
。 在這裏使用static-wsdl
標籤(而不是dynamic-wsdl
)。
第4步: 最後一步是創建所有源文件和配置文件的內容並導出應用程序,如下所述。
文件: /WEB-INF/wsdl/leave.wsdl -
<wsdl:definitions
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:schema="http://www.yiibai.com/hr/schemas"
xmlns:tns="http://www.yiibai.com/hr/definitions"
targetNamespace="http://www.yiibai.com/hr/definitions">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.yiibai.com/hr/schemas"
schemaLocation="hr.xsd" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="LeaveRequest">
<wsdl:part element="schema:LeaveRequest" name="LeaveRequest" />
</wsdl:message>
<wsdl:portType name="HumanResource">
<wsdl:operation name="Leave">
<wsdl:input message="tns:LeaveRequest" name="LeaveRequest" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HumanResourceBinding"
type="tns:HumanResource">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="Leave">
<soap:operation
soapAction="http://www.yiibai.com/RequestLeave" />
<wsdl:input name="LeaveRequest">
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HumanResourceService">
<wsdl:port binding="tns:HumanResourceBinding"
name="HumanResourcePort">
<soap:address
location="http://localhost:8080/leaveService/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
文件: /WEB-INF/spring-ws-servlet.xml -
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:sws="http://www.springframework.org/schema/web-services"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/web-services
http://www.springframework.org/schema/web-services/web-services-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan
base-package="com.yiibai.hr" />
<sws:annotation-driven />
<sws:static-wsdl id="leave"
location="/WEB-INF/wsdl/leave.wsdl" />
</beans>
運行項目
當完成創建源文件和配置文件,使用Maven構建應用程序。 右鍵單擊應用程序項目名稱,在彈出的菜單中選擇:Run As -> Maven Build… ,如下所示 -
Eclipse啓動Tomcat服務器後, 嘗試訪問URL => http://localhost:8080/leaveService/leave.wsdl ,如果Spring Web應用程序一切正常,應該看到以下輸出結果 -