Skip to Content

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.

To report this post you need to login first.

8 Comments

You must be Logged on to comment or reply to a post.

  1. Acron Danisman

    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.

    (0) 
    1. Acron Danisman

      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.

      (0) 
    1. Pradeep Kumar N 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.

      (0) 
      1. 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

        (0) 

Leave a Reply