Hi Maninda, If there are any POST operations defined as HTTP binding, we will make them normal HTTP POST operations. Sorry, may be my example is a bit confusing.
If we take below set of operations, we will have to include HTTP POST operations as well. <wsdl:binding name="DelayedStockQuoteHttpGet" type=" tns:DelayedStockQuoteHttpGet"> <http:binding verb="*GET*"/> <wsdl:operation name="GetQuickQuote"> <http:operation location="*/GetQuickQuote*"/> <wsdl:input> <http:urlEncoded/> </wsdl:input> <wsdl:output> <mime:mimeXml part="Body"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="GetQuoteDataSet"> <http:operation location="*/GetQuoteDataSet*"/> <wsdl:input> <http:urlEncoded/> </wsdl:input> <wsdl:output> <mime:mimeXml part="Body"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="DelayedStockQuoteHttpPost" type=" tns:DelayedStockQuoteHttpPost"> <http:binding verb="*POST*"/> <wsdl:operation name="GetQuickQuote"> <http:operation location="*/GetQuickQuote*"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimeXml part="Body"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="GetQuoteDataSet"> <http:operation location="*/GetQuoteDataSet*"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimeXml part="Body"/> </wsdl:output> </wsdl:operation> </wsdl:binding> We will be extracting: - GET /GetQuickQuote - GET /GetQuoteDataSet - POST /GetQuickQuote - POST /GetQuoteDataSet I meant to say we would use "POST /" resource only for SOAP binding operations. For example: <wsdl:binding name="DelayedStockQuoteSoap" type="tns:DelayedStockQuoteSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="GetQuote"> <soap:operation soapAction="http://ws.cdyne.com/GetQuote" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="GetQuickQuote"> <soap:operation soapAction="http://ws.cdyne.com/GetQuickQuote" style=" document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="GetQuoteDataSet"> <soap:operation soapAction="http://ws.cdyne.com/GetQuoteDataSet" style=" document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> Thanks! Malintha On Mon, Jul 17, 2017 at 4:38 PM, Maninda Edirisooriya <[email protected]> wrote: > 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> >> > > -- Malintha Amarasinghe *WSO2, Inc. - lean | enterprise | middleware* http://wso2.com/ Mobile : +94 712383306
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
