Using a SOAP Web Service Connector through proxy

Hello Community,

I do not succeed in consuming a SOAP Webservice from Bonita Studio through a proxy. Even though I set the proxy-settings correctly in Bonita Studio and system-wide, I always get the error: Exception trying to call remote webservice

At home (without any proxy) I am able to consume the webservice correctly. That´s why I know that the Web Service connector is correctly configured. At work, I get the mentioned error. I changed proxy settings in Bonita Sutdio to manual and added the correspondent url. But the mentioned error still occured.

Has anyone an idea?

Best regards and thanks

Ben

I have the same problem using SOAP Web Service Connector and Google Calendar Connector using Bonita Community version 6.3.0

The classes that I developed on my own and imported to Bonita, work perfectly accessing other websites and web services, because I used the command below before the calls:

System.setProperty("java.net.useSystemProxies", "true");

It does not work for all companies.

I tried to call a “Groovy Script connector” using the command above, before the call of other connector WITHOUT success.

I lost too much time on this issue and the directors will not be satisfied to buy this tool due to lack of connectivity / interoperability.

Bonita should give more attention to this issue, since most of middle and big companies are behind firewalls and all kind of proxies.

Hi,

the proxy configuration inside Eclipse are not used in the connectors executed in the embedded Engine.

You can take a look to this page to have more information on proxy usage in java world: http://download.java.net/jdk7/archive/b123/docs/api/java/net/doc-files/net-properties.html

In our case, I would suggest to configure the proxy at system level(available on Windows and Gnome ) and set the “java.net.useSystemProxies” property at the system level too as this property is read only one time. You will have to start the Studio after you set the property.

Regards,

I found a solution for this problem using bonita Studio 7.0.1. Haven’t tried it with previous versions but the folders and files structure is the same, I guess it should work.

It consists in setting the proxy information directly in the catalina.properties of the embedded tomcat server.

You have to edit [bonita home]/workspace/server_configuration/tomcat_conf/catalina.properties, adding the following 2 lines:

http.proxyHost=[your.proxy.host]
http.proxyPort=[yourProxyPort]

Bonita Studio at startup will take this catalina.properties file and overwrite the one in [bonita home]/workspace/tomcat/conf/ (which is the usual path for catalina.properties for a standard installation of tomcat)

Hope it helps

Hello, thank you both for this feedback, we will investigate and see what we can improve.

Hi,
have you solved this issue somehow?
thanks
Gian

Thanks Aurelien. I think this problem is similar to the embedded MAVEN inside Eclipse (latest version). My machine (Win 7 64 bits) was already configured as described on the link you sent.
For each step below I rolled back to the original settings.

Firstly, I tried to insert the parameter “-Djava.net.useSystemProxies=true” in the JAVA_OPTS of my machine for alls users. Maven did not work!

Secondly, I tried to put the command before calling Eclipse. Maven did not work!

Thirdly, I tried to go to Control Panel => Java Settings. I tried all proxy combination, restarted Eclipse many times. Maven did not work!

Fourthly, I tried different ways using the solution with “http.proxyHost” with / without authentication. Maven did not work!

Finally, the solution was creating the file “settings.xml” on the “.m2” directory, adding a tag and other configuration, as explained on the maven documentation.

Bonita Studio has the initialization file “BonitaBPMCommunity.ini”, but it did not helped me and freezes the application when I set the property “-Djava.net.useSystemProxies=true” there.

If, as you said, the connectors run on a separate Java machine, you need to provide a similar solution as Maven. You are the owner of the connector, aren’t you ?
Maybe you should change the interface for your connectors in order to force the injection (DI) or method call to force other methods to configure the proxy in different ways.

In my opinion, you should let the user to configure the proxy individually for many reasons (out of scope, but flexibility). By default it is configured to use the same proxy solution as the Bonita Studio.

During the initialization (run time), the connector configure itself as specified before (design time).

Shall I open an issue on Jira for this case ?