cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP WebService error

MichalKowalczyk
Level 2

Hi everyone,

I'm having problems with adding a 3rd party webservice to BP. Apparently there are parts in the webservice that BP can't digest. However, when running the webservice on another software (SOAP UI) it seems to work just fine. Here's the link to the api:

https://swea.riksbank.se/sweaWS/wsdl/sweaWS.wsdl

And here's the error thrown by BP (6.5):

'Could not understand the web service described at https://swea.riksbank.se/sweaWS/wsdl/sweaWS.wsdl - please make sure the url you provided refers to a valid WSDL document
Object reference not set to an instance of an object.'

The question is what might be wrong with the api? Is this encoding, or some unsupported data types? Or could it be something completely different?

Thanks in advance for any input


------------------------------
Michal Kowalczyk
RPA Developer
Digital Workforce
Europe/Warsaw
------------------------------
24 REPLIES 24

Hi Ayyoub,

i tried to answer your questions, please see below,

1. In soap Web services the method  should always be "Post" right? - No, depending upon your requirement it would change, if you want to read something from application you will have to utilize Get, if you want to Create or Update something you may have to use POST or PUT. please refer more here https://www.w3schools.com/tags/ref_httpmethods.asp

2. the Address URL here will be the basic URL or the one with wsdl - No, this would be Endpoint URL, it is not like https://swea.riksbank.se/sweaWS/wsdl/sweaWS.wsdl
3. is it normal that I can't see headers in the form WSDL? - Yes, identifying Header, URL and method name is bit difficult but you have tools to do that, download Wizdler Chrome extension, that will help you to get Required parameters.
4. for the body: I have to copy paste the entire envelop or the body only? - Entire envelope
5. could you please tell me where I can find Username and Password (for http request inputs) - That is something your applcation owner would be able to provide you, in WSDL you can only see how to authenticate user, it will not have actual values of username and password, in many cases application credential and WebService credential can be same, if you have access to application(via User interface) try those credential to authenticate your self.

------------------------------
Ishan Mahajan
India
------------------------------

Hi Ishan 

Thank you so much for your time and help, it i very kind from you.

I will consider all the points that you gave me.
one more question:
The client could test the request with soap ui without providing a username and password in the request and he got the value "ID" back.
he also sent me the request form with a header which contains only "to" and "action:....getID" and there were no credentials in there.

Does it mean that this service doen't require credentials? or it is not necessary?



------------------------------
Ayyoub Benoudina
Analyst-Sol Development
Herr
Europe/Brussels
------------------------------

it might be possible, some services does not require authentication.

------------------------------
Ishan Mahajan
India
------------------------------

I'm trying to use the SOAP Web Services wizard to open a wsdl I have stored on my local drive.

It is able to open one service then I get the message:

Only Soap bindings are supported at this time, this web service does not have any soap bindings

Looking in the xml I see the following:
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

Does this mean this wsdl is not currently supported by Blue Prism as indicated above?

------------------------------

It might be possible Blue prism's SOAP Web Service Wizard does not support this but you can still utilize SOAP services using HTTP object.

Try to import that WSDL into SOAPUI tool or try to call WebService using Postman tool, and you can do same in Blueprism.


------------------------------
Ishan Mahajan
India
------------------------------

Hi, 

I'm trying to consume SAP HANA Cloud "Journal Entry - Post (Synchronous)"

I was able to import the WSDL with Blue Prism SOAP Web Service feature, however I'm struggling on how to make the input work in a collection format.

https://help.sap.com/viewer/b978f98fc5884ff2aeb10c8fdeb8a43b/2011.500/en-US/92fed0579212c525e10000000a4450e5.html

Any Input would be highly appreciated

21640.png
21641.png



------------------------------
Met Vonghiran
Consultant
Deloitte
Asia/Tokyo
------------------------------

Hi Ishan, thank you for the reply.

I've been able to connect to the service via Postman using some supplied headers, Basic encoded authentication and a user name and password. It's POST only.

Trying to implement that in BP I've got a HTTP Response object here with the data I want to send in the BODY - currently in test format with hard coded values

Does it look correct?  How would I go about adding parameters to what is currently in the BODY to POST the information I need to send rather than just dummy data?

21642.jpg



------------------------------
N M
Software Developer
Europe/London
------------------------------

Hi,

this is a very interesting discussion for me.
Would it be possible to use BP HTTP object  for a SOAP web service that uses headers with WS-Security 
I do not have much experience in VB .NET and C# , so I am looking for some less less technically challenging journey.
These services are not supported by Blue prism by default as  I found out..
Thanks
Jiri


------------------------------
Jiri Hlucil
Blue Prism Developer
Sberbank CZ, a. s.
Europe/Prague
------------------------------

Hi Met,

When we use collection in WS, your labels would be the fields and field values would be the row in collection, in your case(i took some code from the site u shared),

i think your Input collection should have 1 field called as JournalEntry of type Collection, this collection would 4 fields, OriginalReferenceDocumentType orf type text, BusinessTransactionType oftype text, item of type collection and CreditorItem of type collection, each text field would have its value like BKPF and RFBU, and each collection will again have 1 row for respective fields. This sounds very confusion but i think this is how you need to implement, or i would say since you have successfully ran this using POSTMAN simply use the same body and utilize the HTTP object, HTTP request.
<JournalEntry>
               <OriginalReferenceDocumentType>BKPFF</OriginalReferenceDocumentType>
               <BusinessTransactionType>RFBU</BusinessTransactionType>
               <Item>
                  <ReferenceDocumentItem>1</ReferenceDocumentItem>
               </Item>
               <CreditorItem>
                  <ReferenceDocumentItem>2</ReferenceDocumentItem>
               </CreditorItem>
            </JournalEntry>


------------------------------
Ishan Mahajan
India
------------------------------

HI NM, 

Since you were able to do that using Postman, i would suggest you to copy entire body from Postman and paste it in Body section of BP, if you used Form data in Post for input, i think try clicking on "Code" link in Postman, understand how Postman is sending this data when you click send button and replicate same to BP.

------------------------------
Ishan Mahajan
India
------------------------------