Outsystems Error Consuming WSDL with Circular .xsd Reference?

Outsystems Error Consuming WSDL with Circular .xsd Reference?

  

Hi any idea to do a workarround for this? Any similar experience?


If you open the WSDL in your browser you will see it and if you save it and open it with SOAP UI version 5.4.0 you don't have any problem

You are able to see easily the problem if you
1)      open Service Studio
2)      go to the logic tab
3)      and in SOAP -> right click and press “Consume Soap Web Service”
 
 

I would like to do a workarround to be able to proceed with my work

I already tried to put all .xsd content in my own WSLD file and trying to open it I got errors, this time with SOAP UI too... I'm needing some ideas!


After analyzing can be this the origin of the incident in Outsystems - I open a Support case for Outsystems.

 

We have the WSDL that is giving problems:

http://schemas.kvk.nl/contracts/kvk/dataservice/catalogus/2015/02/KVK-KvKDataservice.wsdl

 

The WSDL ask to Import first:

 

<xs:import schemaLocation="http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/Catalogus.xsd"namespace="http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02"/>

 

The Catalogus (http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/Catalogus.xsd) needs:

 

1)      <xs:include schemaLocation="CatalogusTypes.xsd"/>

2)      <xs:include schemaLocation="CatalogusGegevensGroepen.xsd"/>

3)      <xs:include schemaLocation="CatalogusMainTypes.xsd"/>

 

CatalogusTypes

 

1)      http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusTypes.xsd - OK

2)      http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusGegevensGroepen.xsd - OK

3)      http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusMainTypes.xsd - NOK

 

 

I Believe that the problem is here:

 

We have Recursive WSDL XSDs

 

a.       CatalogusMainTypes.xsd – (http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusMainTypes.xsd )

 

says that needs

 

b.      CatalogusRelaties.xsd – (http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusRelaties.xsd)

 

says that needs

 

a.       CatalogusMainTypes.xsd – (http://schemas.kvk.nl/schemas/kvk/dataservice/catalogus/2015/02/CatalogusMainTypes.xsd )

 

Seems not good to me! But is like it is... and Soap UI is hable to handle it.

Ideas, suggestions, experiencer are welcome, how can I do a workarround, wile Outsystems will put his perfect? :)


Thank you,

Kind regards,

Nuno Oliveira

Solution

Hello Nuno.

OutSystems, up to the current version (version 10), is not able to consume a web service with recursive data types.

See here: https://www.outsystems.com/forums/discussion/18258/recursiveness-in-wsdl/

In those cases, you have to create an extension to consume the web service in a tradition al way (C# or Java, depending on your stack).

Cheers. 

Solution

I think to have understand that OutSystems is working on improving the usability of the import of WSDL, so who knows, maybe we learn more about it at the next NextStep.

Yes. They are working on it:

https://www.outsystems.com/ideas/1135/support-recursion-in-wsdl-files

But it is not possible yet. :)

Hi... thank you all for your help! 


Good orientation from yours to choose .Net as a workarround. Visual Studio is able to handle with the WSDL and we will integratede as an Extention in our Outsystems application


For your information the same error is happening in a Outsystems 11 Version Beta that we have. Hopping to see this working soon.


Eduardo Jauch wrote:

Hello Nuno.

OutSystems, up to the current version (version 10), is not able to consume a web service with recursive data types.

See here: https://www.outsystems.com/forums/discussion/18258/recursiveness-in-wsdl/

In those cases, you have to create an extension to consume the web service in a tradition al way (C# or Java, depending on your stack).

Cheers. 


Good complement for people that catch this topic later and before Outsystems be able with this kind of WSDL

How to consume a Web Service in Integration Studio

https://success.outsystems.com/Documentation/Development_FAQs/How_to_consume_a_Web_Service_in_Integration_Studio


Thank you

Eduardo Jauch wrote:

Hello Nuno.

OutSystems, up to the current version (version 10), is not able to consume a web service with recursive data types.

See here: https://www.outsystems.com/forums/discussion/18258/recursiveness-in-wsdl/

In those cases, you have to create an extension to consume the web service in a tradition al way (C# or Java, depending on your stack).

Cheers. 


Hi, after we create a nice solution in .NET to consume the WSDL based in a project that the provider gave us it seams that won't work in Outsystems.


When I add the WSDL service reference to my .NET project basically the .NET saves the .xsd files as XML Schema Files.


Because the WSDL is really complex we need to do some configuration in the app.config too to handle with it. (Is managing certificates, etc, etc)


After we finished and test the solution with .NET we created an extension to consume 2 actions but:

We experienced something strange: 

1) we published the extension using Integration Studio. 

2) download the extension from the Service Center 

3) opened the downloaded .xif 

we realized: that the .xsd and the .config files are not there. So no luck.

As we can see in the link:

 https://success.outsystems.com/Documentation/10/Reference/Integration_Studio/Element_Properties_Reference/Resource_Properties

Outsystems - Ignore: when the file is not supposed to be published with the module. Used for help files, source code, etc.

CONCLUSION:

1) I believe that we never can't play with .config file in Outsystems extentions, because only Outsystems manages that file

2) Even with .NET Outsystems won't be able to deal with Recursive .xsd because the files that .NET generate are ignored by Integration Studio


Can you say if I'm thinking right? 


Thanks a lot for your input.


Kind regards,

Nuno Oliveira

Just ignore my last post

By default the files are not included in the Extension we just need to go to Resources (in Integrated Studio) and include all the files that we need in the Extension one by one.

tkz