cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with WSDL

Former Member
0 Kudos

I am trying to expose a function module as a web service via the WEBAS in ECC6 - we do not have PI installed.

I have remote enabled the function module and run the wizard to generate the service definition for that module (rather than the function group).

When I go to the SOAMANAGER transaction, I can see the WSDL for the service and export this.

This WSDL contains a return message named [function_name]Response

The WSDL also contains an end-point of

http://[server]:[port]/sap/bc/srt/rfc/sap/[function_name]/[client]/[service_name]/[end_point_name].

When I try to test this service from either our Oracle Service Bus or SOAP UI, the only end-point that works is:

http://[server]:[port]/sap/bc/soap/rfc?sap-client=220

The return message is also named [function_name]Result (rather than response).

Can anyone shed any light as to why the WSDL contains incorrect information?

Thanks

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

this is really strange.

your binding url should be similar to: host:pot/sap/bc/srt/wsdl/bndg_DDF14121ADFC6DF1AA01001422B21866/wsdl11/allinone/ws_policy/document?sap-client=800

Webservice should point to:

http://server:port/sap/bc/srt/rfc/sap/function_name/client/service_name/end_point_name.

Which is right.

Return message is usually named as "response" not "result" but I am not sure of this. I suggest to crerate service again and carefully chose endpoint etc. give another name to service and then see if it works. do not forget to create endpoint manually.

Regards,

Gourav

Former Member
0 Kudos

Hi Gourav,

The WSDL that I generate has that URL, and the endpoint that it contains matches the format that you suggest. However, when I try that, the XML Response document looks like this:

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Header>

<n0:MessageID xmlns:n0="http://schemas.xmlsoap.org/ws/2004/08/addressing">

uuid:ded8f9ca-d226-e0f1-9a34-001b78b8b40e

</n0:MessageID>

<n1:Action soap-env:mustUnderstand="1" xmlns:n1="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope"/>

</soap-env:Header>

<soap-env:Body/>

</soap-env:Envelope>

with no sign that the function has executed within SAP (no updates etc).

Any suggestions?

Former Member
0 Kudos

Hi,

This is strange, it look like XI message to me.

Check one thing, are you exposing BAPI or FM? can you check if you need to do explicit commit (although may be not the reason) but create service again using wizard and check options available for endpoint.

Regards,

gourav

Former Member
0 Kudos

I am definitely exposing it as a Function Module, and there is an explicit commit within the code. As for XI, we don't even have XI configured, so it shouldn't be that.

Former Member
0 Kudos

Hi ,

Check if the SRT nodes are active in SICF.

Bharathwaj

Former Member
0 Kudos

Hi Bharathwaj,

thanks for the suggestion, but the nodes are definitely active.

Former Member
0 Kudos

Hi,

In SOAMANAGER can you see any endpoint created for this RFC? If not then create one. Use WSDL which is created for endpoint (do not use abstract wsdl w/o endpoint). It should work.

Steps:

- Create endpoint manually

- Use "Open Web Service navigator for selected binding" wsdl for external usage.

Regards,

Gourav

Former Member
0 Kudos

Hi Gourav,

I did that, but this is the WSDL that appears to contain inaccurate information.

Thanks