我使用WSDL创建了一个OSB服务并选择了一个Binding . 现在,当我的客户端尝试使用我提供的WSDL调用服务时,他们会收到错误 . 此外,我提供的WSDL中的绑定名称和它们从URL中提取的WSDL也不同 . 怎么了?
根据OSB文档,
基于WSDL资源创建服务时,必须将服务基于WSDL端口或WSDL绑定:
当您基于WSDL资源中的绑定创建新服务时,您将选择WSDL资源中所选元素中定义的协议和数据格式 .
当您基于WSDL资源中的端口创建新服务时,您将选择该元素中定义的绑定和网络地址 .
创建或修改服务时,可以更改传输,但不能覆盖数据格式 .
根据许多因素,在有效的WSDL中修改原始WSDL资源的端口和绑定定义,如下所述 .
如果服务基于绑定:
If the service is generated from binding Y in the WSDL resource, the effective WSDL defines a new service and port (QSService and QSPort). None of the ports defined in the WSDL resource are included in the effective WSDL.
该WSDL中可能有多个端口与该绑定相关联 . 每个端口都可以使用不同的URL . 因此,有效的WSDL使用绑定,但是从该绑定的服务配置生成一个人工端口 . 所有其他端口将被删除 . “
大胆的部分是造成问题的原因 . 使用端口而不是绑定总是更好,因为OSB修改了有效的WSDL,如上所述 .
1 回答
根据OSB文档,
基于WSDL资源创建服务时,必须将服务基于WSDL端口或WSDL绑定:
当您基于WSDL资源中的绑定创建新服务时,您将选择WSDL资源中所选元素中定义的协议和数据格式 .
当您基于WSDL资源中的端口创建新服务时,您将选择该元素中定义的绑定和网络地址 .
创建或修改服务时,可以更改传输,但不能覆盖数据格式 .
根据许多因素,在有效的WSDL中修改原始WSDL资源的端口和绑定定义,如下所述 .
如果服务基于绑定:
If the service is generated from binding Y in the WSDL resource, the effective WSDL defines a new service and port (QSService and QSPort). None of the ports defined in the WSDL resource are included in the effective WSDL.
该WSDL中可能有多个端口与该绑定相关联 . 每个端口都可以使用不同的URL . 因此,有效的WSDL使用绑定,但是从该绑定的服务配置生成一个人工端口 . 所有其他端口将被删除 . “
大胆的部分是造成问题的原因 . 使用端口而不是绑定总是更好,因为OSB修改了有效的WSDL,如上所述 .