业务背景:
最近我在配置WebService的时候遇到一个问题,对方系统发布了一个嵌套类型的WSDL,我不管怎么导入,都是不成功的,最终找了方法配置成功。
- 解决步骤
引用类型的WSDL,可以使用浏览器打开,但是对方提供的wsdl不能直接导入。
其实我们导入的时候需要导入的是带结构类型的那个WSDL,其地址是上图中红框中的,可以看到标签是<wsdl:import>,这就表示是一个引用类型。
我们其实可以直接打开那个带结构的引用类型的地址,就可以看到如下带结构的类型。
在导入Service Consumer的时候我们需要导入的地址也是这个地址。
在导入激活后,使用SOAMANAGER去配置接口的时候,当我们按常规的基于WSDL去配置的时候,不管我们给的wsdl是第一个的,还是第二个的都不行,都会报错。
报出“通信框架中出现异常:HTTP 框架中出错: 404Connection...”和“出现库处理器异常”的错误
出现"No Service found in WSDL"的错误
- 使用手动配置的方式来配置WSDL
输入端口名
对方系统没有验证设置,所以这一步我们直接点下一步就OK了
然后在http输入栏中输入第一个WSDL中如图红框中的地址,然后直接点击完成即可
- 和对方系统进行接口测试,查看是否能连通。
其实最好的方法是让对方系统提供一个可用的wsdl
以上。
发表评论