私はSpring Webサービスを初めて使用し、階乗サービスのサンプルプログラムを作成した後、疑問が残ります。これがSpring Webサービスの仕組みだと思います:
アプリケーションはサーバー上で実行され、リクエストを生成します --> リクエストは、web.xml で定義されているディスパッチャ サーブレットに送信されます --> ディスパッチャ サーブレットは [servlet-name]-servlet.xml を検索します --> ディスパッチャ サーブレットは、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>