cancel
Showing results for 
Search instead for 
Did you mean: 

Importing Web Service in SAP CPS

nanda_kumar21
Active Contributor
0 Kudos

Hi everyone,

Build version M33.104.

We are trying to import web services using the WSDL url.

When i use a URL, that doesn't prompt for userid/password, it is possible to import the job definition.

When i use a URL, that prompts for userid/password (when access through browser), the import fails at initial parsing.

I maintained a credential with SOAP protocol and endpoint URL same as the WSDL url.

Still no luck. Please let me know what am i doing wrong?

To make sure i'm not missing any per-requisites:

  1. I do have an empty slot in WebServices.OutboundServer.limit
    • does that mean i have to create a process server? is yes how?
  2. Maintain the credential
    • I have maintained the credential, but how does the import web services job definition know to use that credential. In other words, how does the credential and Import_Web_Service job definition are linked?

Thanks

Nanda

Accepted Solutions (1)

Accepted Solutions (1)

h_carpenter
Active Contributor
0 Kudos

Hi Nanda,

Could you tell me what system you are trying to access via web services ?

Regards,

HP

nanda_kumar21
Active Contributor
0 Kudos

The Actual system in scope is ESB. I'm now testing with PI system's WSDL URL.

Thanks

Nanda

nanda_kumar21
Active Contributor
0 Kudos

Adding more information:

the WSDL URL, i'm trying to import:

http://hosti23csd01.company.com:50000/dir/wsdl?p=sa/cb0bcba66e8f3abfb3cdc619617131b9

i immediately get an error, screenshot pasted above.

The middleware developer i'm working with gave me the following as the endpoint:

https://hosti23csd01.company.com:50001/XISOAPAdapter/MessageServlet?senderParty=&senderService=I15CL...

this he picked up from the HTTP string that followed the PORT in XML response.

When i tried to add that to the credentials, there is a character limit and the whole URL doesn't fit.

I'm confused as to which is the correct endpoint URL to maintain the credential.

I've tried both, and failed.

Please let me understand the how the web service job works.

Thanks

Nanda

h_carpenter
Active Contributor
0 Kudos

Hi Nanda,

The endpoint s/b the hostname, for example https://hosti23csd01.company.com:50001, could you ask the middleware expert what the valid authentication protocols are ? As Gerben said, we need basic authentication. The "endpoint" is only used to count the outbound web services ... it has little to do with the code.

You can get NTLM/NTLMv2 to work, but that requires external libraries (JCIFS) and it requires you to hack support into the Java code. Means you have import the JCIFS jar file into a library, and write the authentication code yourself in the redwood script job definition.

You do not need a web services process server, web services are supported via RedwoodScript (the Java-like language).

Oh, and the error you are getting is because CPS does not support importing WSDL's for which authentication is required, this is the error you are getting.

Can you download SOAPui and test with that ? If you can get the web service to work in SOAPui, we would need to know the authentication protocol used. Is the remote server running on Windows or UNIX ?

One other thing, you might be able to configure the web service if you go to https://hosti23csd01.company.com:50001/nwa/ssadmin.

You can go to https://hosti23csd01.company.com:50001/wsnavigator to test it.

Regards,

HP

Answers (1)

Answers (1)

gmblom
Active Contributor
0 Kudos

Hello Nanda

The credential endpoint is linked to the base of the url. Now the most important bit is that for authentication only basic authentication is supported.


Regards Gerben

nanda_kumar21
Active Contributor
0 Kudos

Hey Gerben,

Can you please explain more?

Is the credential endpoint URL and WSDL url same?

what do you mean by only basic authentication is supported? Should i select a different protocol than SOAP?

Thanks

Nanda