我是春季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