Skip to Content
Author's profile photo Pradeep Kumar N

External Service Integration with XSD file in SAP Cloud Applications Studio

Hi,

In SDK you can create “External Web Service Integration” (.wsid) so that you could access external webservice in the business logic.

For this you need to do the following:

Upload .wsdl file and
optionally .xsd files if you have schema in different .xsd files of the external webservice.
This would create .wsid file, then you would activate the .wsid.

Suppose, If you have created .wsid uploading .wsdl having .xsd reference, and activation of this .wsid gives error “Recheck WSDL and upload again”,
In such case check your .wsdl file, it should not contain schema location (.xsd) refering to remote location.

Ex:
your .wsdl has the following import tag for xsd:

<wsdl:types>
    <xs:schema attributeFormDefault=”unqualified” elementFormDefault=”unqualified”

          <xs:import namespace=”http://**********” schemaLocation=”http://******/abc.xsd“/>

    </xs:schema>

</wsdl:types>

activation of .wsid would throw error, because schemaLocation is refering to remote location http://*********/abc.xsd.

Solution:
Follow the below steps:

download the abc.xsd from the remote location,
change the schemaLocation in the .wsdl to schemaLocation=”abc.xsd”,

and then upload the .xsd into .wsid using the Add button mentioned in the below image.

You could add the .xsd file using the Add button highlighted below:XSD.PNG

Note:
The same holds good for .xsd file also, where you are refering to another remote .xsd withing the current .xsd file,
In such case you need to follow the same solution, download the remote .xsd and upload it also changing the reference to local from remote.

Other related link:

http://scn.sap.com/community/business-bydesign/studio/blog/2016/02/16/analytics-in-sdk-common-mistakes-to-avoid

Thanks, Pradeep.

Assigned Tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Kumar,


      I have an issue which is very close to this case, i have a wsdl which is created by .Net, i can use this wsdl in SOAPUI and it works perfectly. However, when i try to activate external web service integration, i got "PortType (name/namespace) ICustomerService http://tempuri.org/ not found in WSDL" error and couldn't activate it, i tried to change shemaLocation to local and added the xsd files to  external web service integration, it started to give exception and doesn't explain what causes to it. Do you have any idea how to resolve this issue.


      Thanks for helping us.

      Author's profile photo Pradeep Kumar N
      Pradeep Kumar N
      Blog Post Author

      Hi Acron Danisman,

      Could you share the wsdl file.

      Thanks, Pradeep.

      Author's profile photo Sharif Gool
      Sharif Gool

      Hi Pradeep Kumar N

      Was this resolved? I have the same issue - not occurring in the same context. I simply download a wsdl file for the existing service provider, try to regenerate the service with the same wsdl file and I get this error: "Porttype not found in WSDL" for some reason it is checking that the namespaces are the same, i think on the definition and schema level

      Is there any particular reason for this? and do you know how to resolve it? if i create a new provider using that wsdl, and then download and regenerate the new provider with this wsdl, i have no issues.

      Many thanks and looking forward to your response

      Author's profile photo Pradeep Kumar N
      Pradeep Kumar N
      Blog Post Author

      Hi Acron Danisman,

      Please raise ticket with all the files wsdl , xsd

      Thanks, Pradeep.

      Author's profile photo Former Member
      Former Member

      Hi Pradeep,

      Thanks for fast response, i will raise a ticket for it.

      Author's profile photo Former Member
      Former Member

      Hi Pradeep,

      i found the solution, as you did i just saved the xsd files to local and then added those to external web service integration object, the important trick was changing schemaLocations of the xsd files, i didn't see those have imported xsd in the xsd files after using your method i solved my issue, thanks for this post and your helps.

      Author's profile photo Jacques-Antoine Ollier
      Jacques-Antoine Ollier

      Hello Pradeep,

      It seems I get the same error as you got but there is no schemaLocation in my WSDL.

      The WSDL I try to upload i the generic one for SuccessFactor

      https://apisalesdemo8.successfactors.com/sfapi/v1/soap12?wsdl

      I am not able to upload it in the ByDEsign SDK.

      If you have any clue on this it would be very appreciated.

      Best regards.

      Jacques-Antoine Ollier

      Author's profile photo Pradeep Kumar N
      Pradeep Kumar N
      Blog Post Author

      Hi Jacques-Antoine Ollier,

      Do you have importing tag in the wsdl with .xsd file? if yes, download it from the remote location and then upload it into SDK.

      Thanks, Pradeep.

      Author's profile photo Jacques-Antoine Ollier
      Jacques-Antoine Ollier

      Thank you for you help Pradeep Kumar N this is very appreciated.

      I thought it was due to this references to xsd files, but these files seem to be standard XSD files from Oasis and accessible through URLs.

      Moreover, I do not know where I could download these XSDs from SuccessFactors.

      I implemented a workaround using OData. Anyway, I will keep looking.

      If I find something on this matter I will make a blog on it on how to import WSDL files from SF in ByD.

      Thank you all for your attention.

      Best regards.

      Jacques-Antoine Ollier

      Author's profile photo Solène ROQUES
      Solène ROQUES

      Hi Jacques-Antoine,

       

      Could you provide a litlle more details about the workaround you set or the detailed analysis of the issue please ?

      I think I am in the same situation as you were

      Thanks,

      Author's profile photo Anantharaj Sivalingam
      Anantharaj Sivalingam

      Hi  Pradeep Kumar N,

       

      I have downloaded WSDL file from the SuccessFactor URL(https://api2.successfactors.eu/sfapi/v1/soap?wsdl) using SOAPUI tool and Uploaded to external Web Service in SDK.

      Now i'm getting some unexpected error messages, When we activate the Web Service.

      Please help me to fix the error.

      Thanks & Regards,

      Ananth

      Author's profile photo Ferran Antonio
      Ferran Antonio

      Hi Pradeep Kumar N, do you can help me to solve this problem. I'm trying to delete a wsid file but this error appears.

      Thanks in advance.

      Ferran