Skip to Content

RFC function as a Web service - how to make wsdl type names unique

Hello,

We have a RFC function module, converted into a web service named ZVIEW_AGREEM, which works perfectly. Note that we only have a basic CRM system (Basis 7.31 SP 11), we don't have PI.

There is a client request to create a new version of this web service, named ZVIEW_AGREEM_2 : there is a new field "output_parameter2" in the response. The response type has XSD type named "VAGResult" (that we entered manually in the service definition).

The client also asked us to keep the old web service so that to be able to switch to the new one at a future date.

So, we duplicated the function module, duplicated the DDIC structure, and inserted the requested field, and then we made the web service.

It's okay except that the client complains that his software doesn't accept the WSDL, because we kept the same external type name "VAGResult", and it's different between the 2 web services (in the second, there is the extra "output_parameter2"). Both are assigned the standard SAP namespace urn:sap-com:document:sap:rfc:functions.

Do you know if there is a way to make SAP control the unicity of external type names to avoid having WSDL types with the same name and different structures?

Thanks.

Sandra

Attached is the WSDL of ZVIEW_AGREEM_2; ZVIEW_AGREEM is exactly the same but doesn't have "output_parameter2".

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Jan 06, 2015 at 08:25 PM

    Hi Sandra,

    If you want to analysis one web services paramaters, you must declare your wsdl to soapui. SOAPUI is showing all param for your web services. I insert one image for you bottom of the page.


    Adsız.png (64.1 kB)
    Add comment
    10|10000 characters needed characters exceeded

    • Thanks.

      But the question is more about the fact that we may name a type as we want, SAP does not check (VAGResult in the screen capture below, which becomes <complexType name="VAGResult"... in the WSDL). It may be the same name as a type in another Web Service, both types may have completely different structures. It's a problem from a "philosophical" perspective, as these types share the same namespace "urn:sap-com:document:sap:rfc:functions"; the client software doesn't accept that, we have to rename it; I'd like to know whether SAP proposes a way to prevent choosing a name if it's already chosen for another type of different content.

      WS.PNG (32.9 kB)