问题描述:
1,有一个WSDL文件,在从studio中导出部署包后再SAM中部署发现无法自动关联到系统,并且对wsdl格式验证发现报“WSDL格式不正确!
异常信息:[2002]http://tempuri.org/ bindings{4} ”提示,这个wsdl是客户使用 .NET发布的,所以不知道是否需要改哪些格式,客户这有很多.NET发布出来的服务。
2,clientID和OperationCode这两个参数在调用的时候有什么好办法可以不用每次都传入呢,现在每次调用都需要加这两个,客户这边觉得比较麻烦,我们以前有什么好的处理办法吗。
3,在ESB上注册的WS服务,查看WSDL文件的时候其中的IP地址还是服务的提供者,没有换成ESB本身发布出去的接口地址,请问这个如何处理,或者说就是正常的。
解决办法:
问题一:目前SAM注册审计wsdl这块审计无法针对所有wsdl进行,范围较小,不用通过此方法进行wsdl验证,此功能后期还需进行完善,由于wsdl种类繁多,如果需要验证wsdl正确性,可进行发布调用来确认;
问题二:ClientId和OperationCode是注册到SAM中所需的两个重要参数,代表服务消费者和服务提供者,在SAM中进行服务的监控管理等需要这两个依据。所以这两个参数不能省去,目前只有通过增加头信息的方式加入这两个参数,建议在服务调用时加入以便在SAM中能够进行管理,如果不使用SAM及SSM可以不加;
问题三:注册到ESB上的ws服务,不会改变wsdl文件本身内容,但是在服务发布和调用时访问wsdl地址,地址是变化的。由于wsdl导入解析时文件中本身是原地址,此处不确定调用后地址是什么,所以不会进行文件本身内容的改变,不过发布调用不受影响,在启动Server进行发布调用时是通过ESB的地址。
更多参见:doc.primeton.com