【问题标题】:wsdl has no service elementwsdl 没有服务元素
【发布时间】:2012-08-07 23:53:12
【问题描述】:

我必须使用 WCF Web 服务并获得 WSDL(外部,因此无法控制 WSDL)。在 WSDL 定义中,我没有找到具有服务、端口和地址元素的服务元素。 WSDL 中不存在这种正常情况吗?这对于 WCF WSDL 来说很常见吗?我正在尝试使用轴为此生成存根并且遇到问题。

<wsdl:definitions>
....
...
..

**<wsdl:service>
      <wsdl:port>
       <wsdl1:address/>
      </wsdl:port>
    </wsdl:service>**

</wsdl:definitions>

星号之间的部分是 WSDL 中缺少的部分。

有人遇到过这样的问题吗?请告诉我。

生成存根时,我收到此错误: 线程“主”org.apache.axis2.wsdl.codegen.CodeGenerationException 中的异常:解析 WSDL 时出错 在 org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:175) 在 org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 在 org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 原因:org.apache.axis2.AxisFault:在文件中的 WSDL 中找不到服务:/c:/work/xxx.wsdl,目标名称空间为http://tempuri.org/ 在 org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:115) 在 org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:169) ... 2 更多

我查看了代码 WSDL11ToAllAxisServicesBuilder.java,如果轴没有找到服务元素,则会出现此错误。

有没有人可以解决这个问题?

【问题讨论】:

  • 尝试使用像Web Service Explorer这样的网络服务测试工具。如果此工具可以解析 WSDL 并让您对其进行测试(我认为),那么请尝试使用其他工具,例如 JBoss WS 或 NetBeans。
  • 我使用了 SOAPUI 并且服务测试正常。与我使用的其他 WSDL 不同,当我导入 SOAPUI 时,它不会自动设置端点,因为它丢失了。我添加了 .svc 端点,它测试良好。我不确定为什么 WSDL 没有定义服务元素并导致存根不生成。服务元素不是强制性的吗?

标签: java web-services


【解决方案1】:

我发现为什么这个 WSDL 缺少服务标签,提供的原始 WSDL 有一个包含服务元素的导入。我不知道这是否是正确的方法,但是给我消费的端点没有它,我不得不深入研究其他导入的 WSDL 以查看其中一个具有服务元素。

希望这对某人有所帮助。

我无法在 WSDL 上使用 wsdl2java,因为没有端点,但不知道如何告诉轴查看服务元素的导入 WSDL。

【讨论】:

  • 谢谢。帮助我解决了我收到的 WSDL 中的类似导入问题。
猜你喜欢
  • 1970-01-01
  • 2021-10-30
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多