Hi Malintha, Why we are not making POST operations too as HTTP POST operations? As POST is also a HTTP verb why make it different as SOAP? Are there any more differences between SOAP binding that are not supported in HTTP REST like operations? If that is the case is it correct to move other operations (like GET etc.) to HTTP operations? Thanks.
*Maninda Edirisooriya* Senior Software Engineer *WSO2, Inc.*lean.enterprise.middleware. *Blog* : http://maninda.blogspot.com/ *E-mail* : [email protected] *Skype* : @manindae *Twitter* : @maninda On Thu, Jul 13, 2017 at 7:21 PM, Malintha Amarasinghe <[email protected]> wrote: > Hi, > > In C4 based API Manager, when we create an API using a WSDL, the API is > created with only one resource which is POST /*. We used this for invoking > the service with SOAP payloads. > > But in a typical WSDL, there are several operations defined which are of > different bindings such as SOAP and HTTP. When we look at HTTP binding > based operations, those are a slightly similar to REST operations which > use HTTP verbs such as GET, DELETE, PUT etc. > > For APIM 3.0.0 we are considering parsing those operations as well and > automatically create resources in the API. > > A user can select one of below two options when creating a WSDL-based API. > This is because it is not good to mix up both SOAP and other REST-like > (HTTP binding) operations in the same API. > > *1. Create a Pass-through SOAP API* > > If a user selects this option, an API will be created with "POST /". This > is similar to an API Manager 2.1.0 SOAP API. > > *2. Create an API with HTTP binding operations* > > Then, the operations with HTTP binding are extracted from WSDL and those > are used to create resources in API. > > For example, if we take below binding of the WSDL: > > <wsdl:binding name="WeatherForecastHttpGet" > type="tns:WeatherForecastHttpGet"> > <http:binding verb="*GET*" /> > <wsdl:operation name="GetWeatherByZipCode"> > <http:operation location="*/GetWeatherByZipCode*" /> > <wsdl:input> > <http:urlEncoded /> > </wsdl:input> > <wsdl:output> > <mime:mimeXml part="Body" /> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="GetWeatherByPlaceName"> > <http:operation location="*/GetWeatherByPlaceName*" /> > <wsdl:input> > <http:urlEncoded /> > </wsdl:input> > <wsdl:output> > <mime:mimeXml part="Body" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > > These operations can be generated based on above: > > GET /GetWeatherByZipCode > GET /GetWeatherByPlaceName > > > Appreciate your inputs on this. > > Thanks! > > -- > Malintha Amarasinghe > *WSO2, Inc. - lean | enterprise | middleware* > http://wso2.com/ > > Mobile : +94 712383306 <071%20238%203306> >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
