useOriginalwsdl = true在axis2中不起作用

时间:2011-08-30 11:26:18

标签: web-services axis2

我遵循合同第一的方法。所以我首先编写了wsdl文件,然后生成了服务器端代码。但是当我在浏览器中点击我的Web服务的URL时,我看到自动生成的wsdl文件;不是我保存在META-INF文件夹中的那个。我还在services.xml文件中设置了useOriginalwsdl = true。当我尝试在浏览器中查看wsdl时,会触发错误 无法在 description 部分中为此服务生成WSDL 1.1 如果您希望Axis2自动生成WSDL 1.1,请在错误标记的 reason 部分的services.xml 中将useOriginalwsdl设置为false

请帮帮我。

2 个答案:

答案 0 :(得分:5)

如果您按照以下步骤操作,

useOriginalwsdl = true将起作用:

  1. 将自定义wsdl文件放在META-INF文件夹中。
  2. 自定义wsdl和services.xml
  3. 中的服务名称应该相同
  4. 将客户wsdl命名为service.wsdl或(Your ServiceName).wsdl。
  5. 在services.xml文件中设置useOriginalwsdl = true
  6. 注意:如果useOriginalwsdl = true,Axis2引擎首先尝试使用名为service.wsdl的任何wsdl文件。如果未找到,则它会尝试查找named(您的服务名称).wsdl 如果不成功,则在您尝试访问Web服务时会显示错误。

答案 1 :(得分:2)

您的WSDL中是否有外部模式引用?如果是这样,那些也应该添加到META-INF目录...请同时附上您的WSDL ..

由于您首先使用合同,因此您也可以更好地验证WSDL ..有可用的wsdl验证工具......

...谢谢