cancel
Showing results for 
Search instead for 
Did you mean: 

Using soapUI on SAP outbound WSDLs give error "Found nothing to import in..."

SAPjedi
Contributor

When I export a SAP standard WSDL for an outbound webservice,  I get an error when I try to open it in soapUI.

An outbound webservice could be something like the 3PL Outbound Delivery Request webservice, which BYD calls the external system to send an order to start shipping.  Since it's an external API (that is, not in SAP BYD), there is probably not an endpoint in the WSDL.

When I create a project around this WSDL, soapUI complains "Found nothing to import in file ....<WSDL name>".

Has anyone figured out how to fix this ?  I assume probably something in the WSDL needs to be added or edited.

Appreciate your tips.  Thanks ahead !

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

These are outbound WSDLs as such Soap ui would not do anything for you. There is no actionable information in the WSDL. what is the Purpose of using SOAP UI with these?

Also note that as there is no Actual service associated with these WSDLs as such there is by definition no "Service" Section such as the following from an inbound service


<wsdl:service name="service">

      <wsdl:port name="binding" binding="tns:binding">

         <soap:address location="https://*******.sapbydesign.com/sap/bc/srt/scs/sap/manageprocurementpricespecific?sap-vhost=*******...." />

      </wsdl:port>

      <wsdl:port name="binding_SOAP12" binding="tns:binding_SOAP12">

         <wsoap12:address location="https://********.sapbydesign.com/sap/bc/srt/scs/sap/manageprocurementpricespecific?sap-vhost=*******..." />

      </wsdl:port>

   </wsdl:service>

Message was edited by: William Gast

SAPjedi
Contributor
0 Kudos

William,

I do want to "fix" the WSDL and add in the external system's endpoint, because I do want to duplicate the call to the external endpoint as if soapUI was acting as SAP.

So are you saying that the <soap address> needs to be edited / added?

Thanks,

Tim.

Former Member
0 Kudos

If this is the Case the Endpoint system should be able to provide you their WSDL.  What you are trying to do is not the intention of the provided WSDL for the outbound systems.

SAPjedi
Contributor
0 Kudos

It's a catch 22.  The outbound WSDL provides a reference for the external system's developer to develop their webservice.

But I've heard other software (not soapUI) can import the WSDL and provide the needed info for the developer to reference by.

Former Member
0 Kudos

This is Correct the WSDL provided can be imported in to any number of programming tools to generate the server stub (Code) that is needed. This all depends on the Language / tools they are developing with...

in .net they can simply use the following to generate c# code

wsdl.exe yourFile.wsdl /l:CS /serverInterface

I have done just this and it works great in our 3pl integrations.

Former Member
0 Kudos

Hi William,

I have a similar issue, I've already generated the needed classes but the do not work as expected in the 3PL integration, what kind of security and settings are you using for the services?

Former Member
0 Kudos

We are using basic authentication over SSL and analyzing the headers... here is a example of the code for that (C#)

string auth = HttpContext.Current.Request.Headers("Authorization");

  byte[] encodedDataAsBytes = Convert.FromBase64String(auth.Replace("Basic ", ""));

  string value = Encoding.ASCII.GetString(encodedDataAsBytes);

  string username = value.Substring(0, value.IndexOf(':'));

  string password = value.Substring(value.IndexOf(':') + 1);

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

are you using the correct wsdl? Note that for example when you create a ws in sap, it generates two wsdl:

one is just port type definition, the other one contains also the endpoints. and you need the second one!



In addition check that your wsdl is well formatted (you can use an online formatter)