You still like RPC-Enc style WSDLs

Friday, January 25, 2008

RPC-Encoded is a WSDL style you find in the WSDL 1.1 spec. For some reason in WSDL 2 (fortunately) these style concept of WSDL has been thrown away and only the Document literal style has been survive. So now RPC-Encoded is kind of a deprecated style.

I think there are two main reason that made RPC-Encoded not to use anymore.

First is as first part of its name (RPC stands for Remote Procedure Call) imply this is used to do remote procedure call through network. This lead to appear lot of fine grained services which do just very simple function call through the network. This violates a kind of principal (or just a best practice) of web services, that is you should design a coarse grained fixed interface for a web services. So this was -1 for RPC and +10000 for Document style WSDLs.

Second reason for its failure is the second part of its name, the encoding mechanism. It uses soap encoding which is really tedious to implement, (In fact I am thinking of doing an implementation for Axis2/C, but it seems not that straight forward) And it seems different implementations are hard to inter-operate with this encoding. This made WS-I to prohibit use of RPC-ENC and promote doc-lit.

Anyway we can see still there are many people who ask for RPC-Enc style wsdl support. I think this is because of the legacy systems they are using.

Web Service Framework for PHP
also has great support on DOC-Lit style than RPC-ENC. But still It is a good tools for legacy system developers, since it gives the basic functionalities like dynamic-invocation and wsdl-generation with the RPC-Enoded wsdl s as well.

No comments: