问题描述
我现在用C#去调用java写的webservice,他们是Axis2生成的wsdl2.0版本。为什么我引用的时候解析地址错误,但是他们发布的地址在浏览器中打开是没有问题的。具体的错误信息如下URIhttp://192.168.90.107/ENMS/services/CityAlmService?wsdl2处的文档未被识别为已知的文档类型。来自各已知类型的错误信息可能有助于修复该问题:-来自“XML架构”的报告是“W3CXML架构的根元素应为<schema>,命名空间应为“http://www.w3.org/2001/XMLSchema”。”。-来自“DISCO文档”的报告是“在URLhttp://192.168.90.107/ENMS/services/CityAlmService?wsdl2处找不到发现文档。”。-无法识别此文档格式。-来自“WSDL文档”的报告是“XML文档(1,2)中有错误。”。-不应有<descriptionxmlns='http://www.w3.org/ns/wsdl'>。元数据包含无法解析的引用:“http://192.168.90.107/ENMS/services/CityAlmService?wsdl2”。响应消息的内容类型application/xml;charset=UTF-8与绑定(application/soap+xml;charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。响应的前28个字节为:“<faultInfo>001</faultInfo>”。如果该服务已在当前解决方案中定义,请尝试生成该解决方案,然后再次添加服务引用。如果我要他们把wsdl2.0版本重新编译成wsdl1.1版本,我发现我是能够引用的并使用服务的。我想问一下C#支持wsdl2.0不?如果支持应该怎样去调用。
解决方案
解决方案二:
在你的项目里添加引用
解决方案三:
引用1楼FoxDave的回复:
在你的项目里添加引用
是在项目里面添加服务引用的,如果java编译的是wsdl1.1版本,是正常的,如果是2.0版本就不行。看清楚我问的问题。