I’m using BODS Designer 14.0.1.142 and have trouble importing functions from a web service datastore I created from a WSDL file.
With some functions it works fine while with others it does not and I get an error message (see image attached).
Because of another thread https://bobj-board.org/t/140205 where someone is experiencing the same problem I think it must be a problem with the WSDL file, but I don’t really understand how to apply the workaround here.
I attached the WSDL as txt file as well.
Thanks for your help!
I am attaching the modified WSDL along with dependent xsd’s files, extract all these 3 files to a folder and try to import the WSDL from the file location and see if that works
I tried with DS 12.2
Other thing is the WSDL is using SoapEncoding, and SoapEncoding is not supported by DS WSDLUpdated.zip (26.0 KB)
thank you very much for your quick help. With your modified WSDL we are able to import all functions offered by the web-service now.
To test these functions we built a test job (see attached atl file, password: test123) which executes the function Permission.Authenticate and writes the output to a flatfile.
When we try to run the job we get this error message:
11976 6788 RUN-248005 19.07.2011 09:54:21 |Data flow D_TEST_WS|Transform CALL_WS-Function1
11976 6788 RUN-248005 19.07.2011 09:54:21 There is no response for the web service <Permissions.Authenticate>. Ensure that the network, web server, and service are
11976 6788 RUN-248005 19.07.2011 09:54:21 running properly. Also ensure that the service client call time out is set properly.
We tested on various job servers and made sure no firewalls or proxies are active.
Do you have any idea what we could do? What exactly do you mean when you say BODS doesn’t support SOAP Encoding? Is there any workaround?
you are using webservice Datastore, from the SoapAddress, its HTTPS, so for webservice datastore you will have to modify the %LINK_DIR%\ext\webservice-c\axis2.xml and enable HTTPS sender and receiver (uncomment the HTTPS section), I need to check why is this commented by default
since its HTTPS you may also need a certificate
first test the WSDL Operation from SoapUI, use SoapUI from the same machine where your JobServer is, if that works, then after making changes to axis2.xml try to run the Job from DS using webservice Datastore
We changed the url to http instead of https to see if that works and finally get a response from the webservice now!
However we are now facing problems regarding authentication since we get the following response message from the web-service (also tested over SoapUI):
Our webservice provider offers an test interface called API explorer where you can test to exchange messages with the web service. From that we can tell that the request message should be using the following format:
Obviously the web service is using web service security (wss) and we think that the problem might be that it’s not configured properly. The technical manual of BODS says under the section To configure WS-Security on the native web service datastore :
We couldn’t fine any such line in the axis2.xml so we just added it to the file. Is that okay or do we need to add anything else?
Furthermore, the technical manual says that we need to create a file called policy.xml but we are not sure what this policy.xml file has to look like. Could you please provide us with some more information or maybe create it for us?
try the attached policy.xml file
copy this to %LINK_DIR%\ext\webservice-c folder
set the WS related parameters in Datastore and see if that works policy.zip (0.0 KB)
I’m also running into issue with calling WSDL with SOAP encoding. These webservice codes ran fine calling under DI 11.7.x, but once we migrated to DS 12.2.x, my webservice jobs failed.
How did you all get around the SOAP encoding issue? Greatly appreciated for any suggestion. Thanks.
if the code was running fine in 11.7 then I don’t think you will have problem running it in DS 12.2, the problem may not be because of soap encoding, soap encoding is not supported in DI 11.7 either
is it the same job that is failing in DS 12.2 or there are other changes ?
While calling a webservice method through webservice datastore, I am getting the below error:
“There is no response for the web service . Ensure that
the network, web server, and service are running properly. Also ensure
that the service client call time out is set properly.”
I have already raised a ticket with SAP. The incident number is 0000493763. Can you please help on this?
Expalanation:
I am trying to connect to DNB-API which is exposed as a web service,
from BODS.The WSDL file(attached in the SAP ticket) is working from SOAP UI. I am able to send Requests and receive Responses successfully.But while trying to connect from BODS using webservice datastore, I am getting the above mentioned error.
I have created the webservice datastore by saving the wsdl file
locally on the hard disk and providing the complete path in the datastore.
The direct API link is not working in webservice datastore in Designer.
I looked at the case, and also at the WSDL, the endpoint in WSDL is HTTP where as from SoupUI you are using HTTPS ? did you change that in SoapUI manually ?
best way to debug webservices issue is to do the following
go to %LINK_DIR%\ext\webservices-c and edit axis2.xml
add the following
before
run the job from command line with additional -D -np arguments, check the %DS_COMMON_DIR%\log\axis2_log.txt you will see the message that is going to the server and error with which the call is failing (do not post the log if it has username password etc)
try using the same message from SoapUI and see what is the error you get
Yes I changed it manually to HTTPS as it was not working earlier.
Actually on my local system, SOAP UI, the URL was not working but after using the Proxy Host and port on my local system’s SOAP UI, the HTTP URL is working.
I changed the axis2.xml file as suggested by you and ran the job from SOAP UI.
Below is the error:
[error] …\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(305) Error occurred creating XML
stream reader
[error] …\neethi\src\util.c(37) Out of memory
[error] …\src\core\transport\http\sender\http_sender.c(1442) Error occurred in transport
[error] …\src\core\engine\engine.c(179) Transport sender invoke failed