我必须使用WCF Web服务并获得WSDL(外部,因此无法控制WSDL)。在WSDL定义中,我找不到具有服务,端口和地址元素的服务元素。这是正常的,不存在于WSDL中吗?这对于WCF WSDL来说是常见的吗?我正在尝试使用轴生成存根,并且遇到问题。
<wsdl:definitions>
....
...
..
**<wsdl:service>
<wsdl:port>
<wsdl1:address/>
</wsdl:port>
</wsdl:service>**
</wsdl:definitions>
星号之间的部分是WSDL中缺少的部分。
有人有这样的问题吗?请告诉我。
生成存根时,我收到此错误: 线程“main”中的异常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 with targetnamespace http://tempuri.org/ 在org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:115) 在org.apache.axis2.wsdl.codegen.CodeGenerationEngine。(CodeGenerationEngine.java:169) ......还有2个
我查看了代码WSDL11ToAllAxisServicesBuilder.java,如果axis找不到服务元素,看起来会出现此错误。
有没有人有解决方案?
答案 0 :(得分:2)
我发现为什么这个WSDL缺少服务标签,提供的原始WSDL有一个包含service元素的导入。我不知道这是否是一个正确的方法,但是端点给我消费没有它,我不得不深入研究其他导入的WSDL,看看其中一个有服务元素。
希望这有助于某人。
我无法在WSDL上使用wsdl2java,因为没有端点,不知道如何告诉axis查看服务元素的导入WSDL。