Integrating SAP and Apigee. Error while uploading WSDL file into Apigee

Not applicable

While we are uploading WSDL file from SAP/PI system into Apigee we are getting 404 error. Can anyone help us.

1 18 1,686
18 REPLIES 18

can you post your wsdl? maybe its not accessible from Apigee instance. can you try downloading your wsdl and use File upload to load wsdl?

Not applicable

This is the WSDL file which we are uploading. We trying it by using file only not with URL.

looks like a simple wsdl, i tried in my instance, it seem to load without issues

are you using cloud or private cloud? if private cloud what version?

We can able to fetch the WSDL file. But while viewing the output in browser we are unable to get the data.

so you are able to fetch wsdl using the wizard,

were you able to deploy the proxy as well?

assuming deploy was successful, you are not able to access the API is that the issue? In that case, can you post your error message?

Is your error saying 404 'unknown-resource'? - pls remember when you use the soap to rest wizard, there are serveral resources gets added. So you cannot access your API just with the basepath, make sure you add path suffix as well

like /611-si-requestservice/si_request

Thanks,

While I'm tracing it's saying 503 error.

so the backend is returning error? what error.. can you attach the trace or provide more information on the error?

nmunro
Participant III

Hello @ManasaSutapalli

Could you clarify a few things please?

"We can able to fetch the WSDL file. But while viewing the output in browser we are unable to get the data."

What is the "output in browser" you refer to? Is this the output from calling the API proxy created from the WSDL?

I built a demo recently using a SOAP service exposed by PI and worked through a few problems.

  1. Have you tested the SOAP backend with something like SOAPUI to make sure the problem is not SAP/PI related?
  2. One problem I encountered was that the WSDL originally had no <service> record - this was resolved for me by ensuring the service was listed in the SAP Service Registry. The WSDL you provided has a service section - so I'll assume you have done this step.
  3. Possibly related: the WSDL has 2 ports/endpoints in the <service> record, one for http and another for https. For my demo I removed the https entry from the WSDL because having both seemed to be causing a problem (and I wasn't using https) but note that the target endpoint URL (i.e. the SOAP endpoint from PI) in Apigee will be the http target by default. If you need the https target URL then you'll need to edit that for the https url.

Hello Neil,

What you said is exactly correct. I can able to fetch the WSDL file but I'm unable to view the output in Browser.

I want to see the data of the WSDL file which was uploaded in my API Proxy.

The WSDL which was generated from SAP/PI is working fine in SOAP UI, we have already tested that one.

Did you tried with the WSDL which I gave or else you tried with your own WSDL.?

Hi @ManasaSutapalli

I used your WSDL to create a proxy.

I then tried to make the request from the browser (to http:/my-name-test.apigee.net/pi_wsdl_apigee_community/si_request)

This fails when trying to call your target endpoint (i.e. the SOAP service exposed by PI). This is expected (I also get the 503 response) because I have no access to your PI endpoint (it's not publicly accessible and you most likely don't want to do that).

Have you allowed apigee access to your back-end? If apigee can't reach http://sappi73.mss.com:50000 then that's a likely cause of your problem.

I didn't allow any access to my back-end. Can we let us know how to give access. I didn't understand your exact question.

I'm making the assumption that you are using Apigee in the cloud and that this means there's a firewall and other security measures that prevent the Apigee API proxy from communicating with PI at the location specified in the WSDL (http://sappi73.mss.com:50000).

The PI endpoint needs to be exposed and made secure such as that described in the apigee docs here. I think then that you need to consider @Hasan's point below about configuring the authentication/authorization so that credentials are passed in some way to the PI service (again assuming this has been configured for your service)

Apologies if this is already the case and I have misunderstood.

How to create private key and cert???

while I'm trying to creating the keystore. It is asking to upload private key and cert, how can I get those..

The private key and cert refer to your SSL certificate.

I recommend talking with someone in your organization that deals with security and infrastructure before proceeding further.

hsnbilgen
Participant III

Are you using that wsdl file on your SAP API Management on-premise model? If you are it can be a problem with version of SAP .. Just let me know which version of API management product?

hsnbilgen
Participant III

Request Content

Body
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><MT_Request xmlns="http://File_TO_RFC" xmlns:MT_Request="http://File_TO_RFC">
                    </MT_Request>
                </soap:Body>
            </soap:Envelope>
        

I think you have problem with your request MT_Request check this one because in my profession i have been creating scenarios on PI and they were all need authorization. Maybe you need to use basic auth and I think it needs to be a clone of PI super user. Now i am working on API Management which is on SAP on-prem model. So lets have a look at that problem first than you will have result i hope. I wish it will help you on this

I will check this out and get back to you. I'm not using SAP API Management, i'm working on Apigee only.