{ Community }
  • Academy
  • Docs
  • Developers
  • Resources
    • Community Articles
    • Apigee on GitHub
    • Code Samples
    • Videos & eBooks
    • Accelerator Methodology
  • Support
  • Ask a Question
  • Spaces
    • Product Announcements
    • General
    • Edge/API Management
    • Developer Portal (Drupal-based)
    • Developer Portal (Integrated)
    • API Design
    • APIM on Istio
    • Extensions
    • Business of APIs
    • Academy/Certification
    • Adapter for Envoy
    • Analytics
    • Events
    • Hybrid
    • Integration (AWS, PCF, Etc.)
    • Microgateway
    • Monetization
    • Private Cloud Deployment
    • 日本語コミュニティ
    • Insights
    • IoT Apigee Link
    • BaaS/Usergrid
    • BaaS Transition/Migration
    • Apigee-127
    • New Customers
    • Topics
    • Questions
    • Articles
    • Ideas
    • Leaderboard
    • Badges
  • Log in
  • Sign up

Get answers, ideas, and support from the Apigee Community

  • Home /
  • Edge/API Management /
avatar image
5

Tutorial: Manual construction of a SOAP-to-REST API proxy in Apigee Edge  

  • Export to PDF
Dino   created · May 20, 2016 at 03:27 AM · 6.5k Views · edited · Mar 19, 2018 at 03:46 PM

Apigee Edge has a WSDL Import "Wizard". You can paste in a WSDL URL, and click "Import" and Apigee Edge will generate an API Proxy. But sometimes, the generated proxy is not what you want.

Maybe some of the elements in the SOAP payload should be set to default values. Maybe all of the data items should be required as query params. Maybe you want the caller to pass them as part of a JSON request body. Maybe there is some combination of those things. Maybe you want to populate the defaults from a user profile. The WSDL Importer Wizard doesn’t ask you about any of these decisions, but a smart human wants those options.

Building an API facade yourself on top of an existing SOAP is probably the better way to go for that reason. We can call it "curating" an API.

Building a custom API facade might sound daunting at first, especially compared to the friendly "next...next...next..." experience of using a Wizard. But doing the custom work is really not so terribly difficult, and you can produce *exactly* what you want, rather than settling for something kinda close to what you want. The key tools in your toolbag for this task will be:

  • the ExtractVariables policy - this allows you to extract values from the inbound request, whether from the URI path, or from the JSON body, or from headers, etc.
  • The AssignMessage policy - this allows you to construct an XML / SOAP payload to send to the existing SOAP service.
  • the XMLToJSON policy - this converts the SOAP response from the backend into JSON

I've created a short screencast to show how it's done.

You can open that video in a new tab by clicking here.

I'd love to hear comments from people on whether they find this approach helpful.

screenshot-20180319-084506.png (178.9 kB)
thub.nodes.view.add-new-comment
soap4mv4dwsdlwsdl import
Add comment Show 4
10 |5000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by Apigeeks only
  • Viewable by the original poster
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Eduardo Andrade · Dec 13, 2016 at 07:42 PM 1
Link

Great post!

Thanks

avatar image Ankita Jain · May 23, 2018 at 01:11 PM 0
Link

Hi Dino,

I have created an API which is taking soap XML as request and sending JSON to my backend and then again converting json to XML.

Its basically SOAP - REST -SOAP.

Consumer application which is based out of SOAP needs WSDL from apigee to consume it. Is it a way by which I can provide them WSDL to consume this API.

Thanks

Ankita

avatar image Dino-at-Google ♦♦ Ankita Jain   · May 23, 2018 at 03:36 PM 0
Link

Hi Ankita,

This is a new question and I am glad to answer it. Please post it as a new question.

ask-a-question.png (106.5 kB)
avatar image Ankita Jain Dino-at-Google ♦♦ · May 24, 2018 at 07:13 AM 0
Link

new question added

https://community.apigee.com/questions/57043/exposing-apigee-url-as-soap-service.html

Article

Contributors

avatar image

Follow this article

39 People are following this .

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Navigation

Tutorial: Manual construction of a SOAP-to-REST API proxy in Apigee Edge

Related Articles

Apigee Edge - 4MV4D - Quota Policy - Message Weight - S02E05

Apigee 4MV4D - Programming of APIs - Series - The Apigee Edge - S01E02

Apigee Edge - 4MV4D - Quota Policy - Calendar Type - S02E06

Apigee 4MV4D - Programming of APIs - Series - API Proxy - S01E03

Apigee Edge - 4MV4D - Quota Policy - Rolling Window Type - S02E07

Apigee 4MV4D - Programming of APIs - Series - Request, Response, Flow Variables - S01E04

Apigee Edge - 4MV4D - Quota Policy - Flexi Type - S02E08

Apigee 4MV4D - Programming of APIs - Series - Apigee Policy - S01E07

Apigee Edge - 4MV4D - Quota Policy - Conditional Quota Count - S02E09

Apigee 4MV4D - Programming of APIs - Series - Proxy Endpoint & Target Endpoint - S01E05

  • Products
    • Edge - APIs
    • Insights - Big Data
    • Plans
  • Developers
    • Overview
    • Documentation
  • Resources
    • Overview
    • Blog
    • Apigee Institute
    • Academy
    • Documentation
  • Company
    • Overview
    • Press
    • Customers
    • Partners
    • Team
    • Events
    • Careers
    • Contact Us
  • Support
    • Support Overview
    • Documentation
    • Status
    • Edge Support Portal
    • Privacy Policy
    • Terms & Conditions
© 2021 Apigee Corp. All rights reserved. - Apigee Community Terms of Use - Powered by AnswerHub
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Create an article
  • Post an idea
  • Spaces
  • Product Announcements
  • General
  • Edge/API Management
  • Developer Portal (Drupal-based)
  • Developer Portal (Integrated)
  • API Design
  • APIM on Istio
  • Extensions
  • Business of APIs
  • Academy/Certification
  • Adapter for Envoy
  • Analytics
  • Events
  • Hybrid
  • Integration (AWS, PCF, Etc.)
  • Microgateway
  • Monetization
  • Private Cloud Deployment
  • 日本語コミュニティ
  • Insights
  • IoT Apigee Link
  • BaaS/Usergrid
  • BaaS Transition/Migration
  • Apigee-127
  • New Customers
  • Explore
  • Topics
  • Questions
  • Articles
  • Ideas
  • Badges