我正在使用spring框架进行一个java项目。我在用springws实现soapweb服务时遇到问题。
我们得到了一个wsdl/xsd文件包,其中定义了要发布的web服务。这些文件是这样组织的:对于每个服务,都有一个包含其他wsdl的根wsdl,其中可能包含其他wsdl/xsd。
在我们的应用程序中,我们配置了 WebServiceConfig
与 @EnableWs
以及 @Configuration
注解。这个类注册了两个主要的bean:正则bean ServletRegistrationBean
在这里,我们指定了我们的监听路线 SimpleWsdl11Definition
指定根wsdl物理位置的bean。这些类都是由org.springframework.ws包提供的。我们在3.0.7.0版本中使用springws-core。
当我运行我的应用程序时,我实际上可以用浏览器访问我的根wsdl。但是,我无法解析此文件中的任何导入。例如,如果我通过http://localhost:8080/myrootwsdl.wsdl,此wsdl包含 <wsdl:import location="example.wsdl" .../>
,我无法解决http://localhost:8080/example.wsdl(它给了我类似“xml分析错误:找不到元素”的信息)。
这是预期的行为吗?我们的应用程序应该与其他使用soap-ws的应用程序进行交互,到目前为止,它们都在请求根wsdl后失败,因为它们试图访问回答上述错误的url。
我试着用 setTransformWsdlLocations
与 true
参数,但这并没有改变任何东西。我错过了什么?
暂无答案!
目前还没有任何答案,快来回答吧!