首页 文章

如何在Oracle Service Bus中使用WSDL?

提问于
浏览
3

我使用WSDL创建了一个OSB服务并选择了一个Binding . 现在,当我的客户端尝试使用我提供的WSDL调用服务时,他们会收到错误 . 此外,我提供的WSDL中的绑定名称和它们从URL中提取的WSDL也不同 . 怎么了?

1 回答

  • 3

    根据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,如上所述 .

相关问题