Spring WSでは、エンドポイントには通常、@ Endpointアノテーションで注釈が付けられます。例えばSpring-WSでスキーマベースのエンドポイントを定義する方法
@Endpoint
public class HolidayEndpoint {
...
}
私の質問は、(XML構成に基づいて)スキーマベースのエンドポイントを定義する方法はありますか?あなたの春-WS-servlet.xml構成のおかげで...
Spring WSでは、エンドポイントには通常、@ Endpointアノテーションで注釈が付けられます。例えばSpring-WSでスキーマベースのエンドポイントを定義する方法
@Endpoint
public class HolidayEndpoint {
...
}
私の質問は、(XML構成に基づいて)スキーマベースのエンドポイントを定義する方法はありますか?あなたの春-WS-servlet.xml構成のおかげで...
は、以下を追加します。
詳細情報はこちらからUnable to access web service endpoint: Spring-WS 2
あったことができ
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<context:annotation-config />
<sws:annotation-driven />
<sws:dynamic-wsdl id="holidayEndPoint" portTypeName="HolidayEndpoint"
............
......
は、この意志のおそれ助けます。
生成し、WSDLを公開:
<sws:dynamic-wsdl id="EntityService" portTypeName="Entity" locationUri="/ws/EntityService/"
targetNamespace="http://me.com/myproject/definitions">
<sws:xsd location="WEB-INF/schemas/EntityCommons.xsd" />
<sws:xsd location="WEB-INF/schemas/EntityService.xsd" />
</sws:dynamic-wsdl>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="ws/EntityService/*.wsdl">EntityService</prop>
</props>
</property>
<property name="defaultHandler" ref="messageDispatcher" />
</bean>
セットアップインターセプタを:
<sws:interceptors>
<bean class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
<!-- Postel's Law: “Be conservative in what you do; be liberal in what you accept from others.” -->
<bean id="validatingInterceptor" class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
<property name="schema" value="WEB-INF/schemas/EntityService.xsd"/>
<property name="validateRequest" value="false"/>
<property name="validateResponse" value="true"/>
</bean>
</sws:interceptors>
またはalternativlyをあなたはJAXBを使用している場合は、スキーマを使用するマーシャラーを設定することができます。