我遵循契约(Contract)优先的方法。所以我先写wsdl文件,然后生成服务器端代码。但是当我在浏览器中点击我的 web 服务的 url 时,我看到了自动生成的 wsdl 文件;不是我保存在 META-INF 文件夹中的那个。我还在我的 services.xml 文件中设置了 useOriginalwsdl=true 。当我尝试在浏览器中查看 wsdl 时,它会引发错误 无法为此服务生成 WSDL 1.1 在描述部分和 如果您希望 Axis2 自动生成 WSDL 1.1,请在 error 标记的 reason 部分的 services.xml 中将 useOriginalwsdl 设置为 false .
请帮帮我。
最佳答案
如果您遵循以下步骤,useOriginalwsdl=true 将起作用:
- 将自定义 wsdl 文件放入 META-INF 文件夹。
- 自定义 wsdl 和 services.xml 中的服务名称应该相同
- 将客户 wsdl 命名为 service.wsdl 或 (Your ServiceName).wsdl。
- 在 services.xml 文件中设置 useOriginalwsdl=true
注意:如果 useOriginalwsdl=true,Axis2 引擎首先尝试使用任何名为 service.wsdl 的 wsdl 文件。如果未找到,则它会尝试查找 named(您的服务名称).wsdl 如果不成功,则在您尝试访问 Web 服务时显示错误。
关于web-services - useOriginalwsdl=true 在 axis2 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242394/