我有一个 Spring Web 服务项目。我已将服务分成两个不同的 wsdl。
<ws:dynamic-wsdl id="myDefinitionOne"
portTypeName="Test" locationUri="http://server/basedirectory/subdirectoryone">
<ws:xsd location="/WEB-INF/schemas/my-schema-one.xsd" />
</ws:dynamic-wsdl>
<ws:dynamic-wsdl id="myDefinitionTwo"
portTypeName="Test" locationUri="http://server/basedirectory/subdirectorytwo">
<ws:xsd location="/WEB-INF/schemas/my-schema-two.xsd" />
</ws:dynamic-wsdl>
这是在 JBoss AS 7.1.1 上运行的。我不明白的是,我原以为只有 myDefinitionOne wsdl 可以在“http://myserver/basedirectory/ subdirectoryone /”中访问,同样,只有 myDefinitionTwo wsdl 可以在“http://myserver/basedirectory”中访问/子目录二/'
但事实上,两个 wsdl 都可以从任一 URL 访问。
我正在运行 SoapUI,我可以从eiter URL 为两组服务运行端点测试。
我在这里错过了什么,因为我的目标是在每个服务上分离出 URL 上的身份验证,即 /http://myserver/basedirectory/subdirectorytwo/ 和 /http://myserver/basedirectory/subdirectorytwo/,但是我不能这样做,如果它们都可以从两个位置访问。
我也通过 IIS 运行它。
任何人都可以帮助我对此的理解。
根据评论,这就是我的 web.xml 文件中的内容
这就是我的 web.xml 中的内容
<servlet>
<servlet-name>webservices</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ws-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>webservices</servlet-name>
<url-pattern>/subdirectoryone/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>webservices-auth</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ws-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>webservices-auth</servlet-name>
<url-pattern>/subdirectorytwo/*</url-pattern>
</servlet-mapping>
那么这是否没有正确指定它?