Cloud Code There are no registered services. Add one now. / Import WSDL

I used java2ws to generate a wsdl file from my java servlet. This means that the wsdl file is well formed. However, when I try to add the service it fails with the message “This is not a valid service description: ‘http://vm1.drdm.cloud:14180/wsdl/DCNv2.wsdl’.”

Any ideas? It’s blocking an important part of our application development. I’m using Firefox, by the way.

Hello @Chris_Maden,

We were able to reproduce the issue, the internal ticket BKNDLSS-31710 is created for investigations.
We’ll notify you here about the results.

Regards,
Olha

Hello @Chris_Maden

this might take a considerable amount of time for us to research and fix the problem. Given the urgency with your demo, we suggest finding a different way to access the service. For example, instead of importing the wsdl, create a js/java client that would run as an API service (the proxy approach)

Hi Sergey,

Thank you for getting back to me. Two questions, please:

  1. Have the RAML and WADL equivalents been tested? If so, would you mind sending a sample mini-RAML / WADL so that I can get the hang of it?
  2. If that’s not possible, would you mind pointing me at a resource, preferably with example code, so that I can get the hang of that?

Best Regards,

Chris

Hi @Chris_Maden,

  1. At the moment you can use only swagger type.
  2. I don’t have experience with this. Maybe this will be helpful for you https://www.npmjs.com/package/easy-soap-request

Or you can try to find a way how to convert WSDL → Swagger

Regards,
Stanislaw

Hi Stanislaw,

Thank you for your reply, but I am now completely confused. According to this page, Developing Backendless Server Code with node.js, you do support WSDL and RAML. In addition, your own GUI says the same thing:

I’ll give WSDL → swagger a try, but please don’t say you support stuff that you do not. I’m under a lot of time pressure and spend a couple of days leaning about WSDL only to now find out that you don’t support it after all.

Please would you mind asking around to see if WSDL is in fact supported?

Thank You and Best Regards,

Chris

There is some support for WSDL in Backendless. Over the years we have not kept up with it as the interest in SOAP services has waned and the industry moved to give preference to REST API and JSON-based integrations. In the near future, we will be removing the WSDL, WADL and RAML support from the product. completely.

If you absolutely have to use WSDL, the options to consider would include:

  1. Convert to Swagger and use swagger proxy generation as suggested earlier

or

  1. Use a JS proxy generator to create a JS service class that can be deployed as a Cloud Code API service into Backendless.

Kind regards,
Mark

Hi Mark,

Thank you for getting back to me.

I created an account on swagger.io, used it to document some of the calls, went to Backendless and tried Cloud Code / New Service / Import with the URL swagger gave me - https://app.swaggerhub.com/apis/DRDM/DCNv2/0.1. That failed. I then downloaded the description into a file on my desktop (attached) and tried browsing to it and importing it. That failed too.

It’s probably me not understanding the tools, but that’s because the documentation is very, very scant. Any ideas? I’m getting quite desperate here. If we end up having to write dozens of clientlets, we’ll be in very bad shape for code maintenance.

Best Regards,

Chris

Oops. The attachment…

For good measure, I tried JSON, too, also attached.

(Attachment DCNv2.swagger is missing)

(Attachment DRDM-DCNv2-0.1-resolved.json is missing)

Tried HTML for good measure, http://vm1.drdm.cloud:14180/wsdl/. I’ve run out of ideas. Please help!

The JSON file was rejected by your spam filters, but I can send it if that would help. Thanks - Chris

Hello @Chris_Maden!

To help you better understand what the imported file should look like, I recommend creating a sample “Shopping Cart” service in the CloudCode section and exporting it as a Swagger document by clicking on the “Generate API Docs” icon. Take a close look at the exported data and compare it with the file you want to import. If you continue to encounter issues with importing the file, please don’t hesitate to reach out to us for assistance.

Regards,
Alexander

Hi Alexander / Help Desk,

Thank you for getting back to me, and I am sorry I have not made myself clear.

The URL I supplied to Backendless was the swagger.io URL which is generated by swagger.io’s “Share and Collaborate” function. That did not work.

I cannot find a “Generate API Docs” icon in swagger.io. There is an Export funcion which has “Codegen Options.” One of the options is “Download API”. I tried that for both JSON and YAML but Backendless rejected both. I tried to send you the files but your email server rejected them as dangerous. So much for that.

Even more desperate, I used swagger’s “Codegen Options” / “Documentation” / “HTML” which produced human-readable code. Backendless rejected that too (no surprise).

In summary: I am not typing by hand some file in the hope that it looks like a swagger document. I am exporting from swagger but backendless has rejected my every attempt with a very generic and uninformative error message.

This has been dragging on for a week now with terse responses and very scant documentation. This is becoming a deal-breaker for upgrading to the enterprise version and using backendless for the real thing. The functionality quite simply appears to be broken, and there is no indication that anyone at your help desk has done more than respond quickly in the hope that I’ll go away. Please can someone try the link which swagger generated (Build, Collaborate & Integrate APIs | SwaggerHub) and at least attempt to replicate the error?

Or shall we give up and move to bullet?

Thank You,

Chris

I understand that you have tried multiple ways to export your data and have encountered issues with importing it into Backendless. We apologize for any inconvenience caused and want to assure you that we take your concerns seriously.

Regarding Generate API Docs I think I misled you because I meant to create a test service in Backendless so that it can be compared to the generated swagger data.
You can do this here:


Regards,
Alexander

Hi Alexander,

Thank you, but this is not what I want to do. I am not trying to export/provide a service from backendless to a consumer/client. I have the service and I want backendless to consume/be a client for it. It is therefore the “Imported” tab of the “New Service” dialogue that is giving me grief.

I tried WSDL, which your documentation says you support. That didn’t work and you suggested I try swagger. I’ve tried swagger and that doesn’t work.

The service we want backendless to consume is a blockchain and cannot be implemented in backendless (nor would we have the time to port it if it could).

Is there someone in backendless who has experience of backendless consuming services from a RESTFUL / JSON interface provided through tomcat? The service is limited but works (tested on postman and now on swagger)? Could that person schedule a call so that we can work through this together, please? I’m on the telegram support group if that makes things easier.

Thank You and Best Regards,

Chris

Hi Chris,

Could you please send me the swagger document describing the service? I would like to play with it and see what can be done.

Thank you,
Mark