我发布了一个使用Spring-WS的SOAP webservice,并且想知道设计WSDL的方法。Spring-WS SOAP服务设计 - 一对多操作
如果我的服务必须解释四个操作(例如启动,更新,挂起和重新启动服务),我是否应该有一个具有一个操作的WSDL(例如EntertainmentService)并将操作作为请求属性或应该我定义了一个具有多个操作的WSDL。
<request>
<type><!-- start | update | suspend | restart --></type>
<name></name>
<address></address>
<services>
<tv></tv>
<internet></internet>
<phone></phone>
</services>
如果建议是去与一个WSDL具有多个操作,如何指定作业的春天-WS列表。目前,我的spring servlet上下文有一个DefaultWsdl11Definition,并且WSDL在运行时生成。
<bean id="EntertainmentService" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" lazy-init="true">
<property name="schema">
<bean class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/schemas/entertainmentService.xsd"/>
</bean>
</property>
<property name="portTypeName" value="EntertainmentService"/>
<property name="locationUri" value="/endpoints"/>
</bean>
如果所有的四个运算使用相同的WSDL,它是为客户(使用Web服务),使一个操作(不同)不是使多种业务电话要容易得多。第二种方法是否有优势(每种请求类型都有不同的操作)。
感谢您的回复。当你说“如果你改变你的xsd”,你的意思是每个操作都有不同的xsd,并且为每个wsdl配置? – aprajitha 2013-03-28 21:41:36
@aprajitha我从来没有使用spring的动态wsdl部分,但是如果在javadoc中可以指定一个xsd文件或一组xsd文件。所以你的问题的答案是肯定的。 – VirtualTroll 2013-03-31 22:49:10