Hi Malintha,

Previously we didn't allow users to add/edit/remove resources from the view
when we create an API with SOAP backend. If someone needs to do it, editing
the swagger was the option. Are we now going to enable that capability
since we now going to generate the resources from WSDL?

Thanks,
Harsha

On Thu, Jul 13, 2017 at 3:51 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 <+94%2071%20238%203306>
>



-- 
Harsha Kumara
Software Engineer, WSO2 Inc.
Mobile: +94775505618
Blog:harshcreationz.blogspot.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to