FavoriteLoading
0

WebService引用类型问题

业务背景:

       最近我在配置WebService的时候遇到一个问题,对方系统发布了一个嵌套类型的WSDL,我不管怎么导入,都是不成功的,最终找了方法配置成功。

 

  • 解决步骤
  1. 错误展示

引用类型的WSDL,可以使用浏览器打开,但是对方提供的wsdl不能直接导入。

其实我们导入的时候需要导入的是带结构类型的那个WSDL,其地址是上图中红框中的,可以看到标签是<wsdl:import>,这就表示是一个引用类型。

我们其实可以直接打开那个带结构的引用类型的地址,就可以看到如下带结构的类型。

在导入Service Consumer的时候我们需要导入的地址也是这个地址。

在导入激活后,使用SOAMANAGER去配置接口的时候,当我们按常规的基于WSDL去配置的时候,不管我们给的wsdl是第一个的,还是第二个的都不行,都会报错。

报出“通信框架中出现异常:HTTP 框架中出错: 404Connection...”和“出现库处理器异常”的错误

出现"No Service found in WSDL"的错误

  1. 使用手动配置的方式来配置WSDL

输入端口名

对方系统没有验证设置,所以这一步我们直接点下一步就OK了

然后在http输入栏中输入第一个WSDL中如图红框中的地址,然后直接点击完成即可

  1. 和对方系统进行接口测试,查看是否能连通。

其实最好的方法是让对方系统提供一个可用的wsdl

以上。