我是春季Web服務的新手,在編寫階乘服務的示例程序後,我留下了一些疑惑。我認爲這是春天的Web服務是如何工作的:春季Web服務流程
應用程序運行在服務器上,併產生一個請求 - >請求轉到 調度的servlet在web.xml中定義 - >調度servlet查找 對於[servlet的名稱] -servlet.xml後綴 - >調度的servlet然後查找 payloadroot其中找到正確的端點 - >的XML請求轉到 終點 - >響應由端點產生
現在我的疑惑是:
- 那如何來端點請求到達XML形式?我知道XSD有助於創建xml,但是它何時做到這一點?
- 在這整個過程中什麼時候構建了wsdl?
以下是bean定義即:[servlet-name]-servlet.xml
文件:
<beans ...>
<bean id="findFactorialService" class="springws.findFactorial.FindFactorialServiceImpl"/>
<bean id="findFactorialServiceEndpoint" class="springws.findFactorial.endpoint.FindFactorialServiceEndpoint">
<property name="findFactorialService" ref="findFactorialService" />
</bean>
<bean id="payloadMapping" class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
<property name="defaultEndpoint" ref="findFactorialServiceEndpoint" />
</bean>
<bean id="findFactorialSchema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/findFactorialService.xsd" />
</bean>
<bean id="findFactorial" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schema" ref="findFactorialSchema" />
<property name="portTypeName" value="hello" />
<property name="locationUri" value="http://localhost:7070/find-factorial-using-contractfirst/services" />
</bean>
</beans>
第一件事:我沒有使用任何JAXB服務或罐子..第二件事:JAXB使用java類轉換爲xml ..但請求僅以xml的形式到達終端..不在對象的形式。 – Chandeep
更新了答案 – WeMakeSoftware