Installation

Can’t exec “ifconfig”: error when installing BridgeGate

If you get the following error while installing BridgeGate on Linux you need to install the net-tools. This includes the ifconfig.  The BridgeGate install script uses ifconfig to get IP information.

Example Error Message:

What is the alias of this server? [localhost.localdomain] Can’t exec “ifconfig”: No such file or directory at /bridgegate/bin/bg_config.pl line 344, <STDIN> line 15. Use of uninitialized value in pattern match (m//) at /bridgegate/bin/bg_config.pl line 344, <STDIN> line 15.

# sudo yum install net-tools

Why would the BridgeGate Upgrade from 9.x to 10.x fail on Windows?

Some versions of Windows will automatically add folders to a Quick Access section in File Explorer.  Any folders that exist in Quick Access, that exist under the BridgeGate folder, will cause the Upgrade to fail because it will not be able to rename the BridgeGate folder. If your upgrade fails, go to File Explorer and under the Quick Access section remove any folders that are child folders of the BridgeGate folder.

InvalidConnectionAttributeException: The server time zone value ‘EDT’ is unrecognized or represents more than one time zone

When starting the BridgeGate server on a new installation or upgrade of MySQL and you get the following type of exception you must either add the time zone to the my.cnf or add the time zone to the JDBC URL

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘EDT’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) Below is the example of adding it to the bridgegate.xml under the /bridgegate/conf folder

Add serverTimezone=EST to the JDBC URL

<DATABASE_CONNECTION_POOL ACQUIRE_INCREMENT="2" AUTO_COMMIT_ON_CLOSE="false" 
CHECKOUTTIME="600" DRIVER="com.mysql.cj.jdbc.Driver" IDLETIME="600" IDLE_TEST_PERIOD="300" 
JDBCURL="jdbc:mysql://localhost/bridgegate?useSSL=false&amp;autoReconnect=true&amp;useUnicode=true
&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=CONVERT_TO_NULL
&amp;serverTimezone=EST&amp;allowPublicKeyRetrieval=true" 
MAXCONN="100" MAX_STATEMENTS="0" MINCONN="10" PASSWORD="..." USERNAME="bridgegate"/>

How to disable the portal from checking for the latest Service Pack

If you a closed system with no internet access BridgeGate will be unable to check for new versions of the software.

You will see an error message says trying to get latest service pack from internet every hour. [com.oidev.bridgegate.BridgeGateController] retrieveLatestServicePackLocation() unable to get LatestServicePackLocation from http://www.bridgegatedev.com/software/9.0/currentsplocation.html

This check can be disabled by adding CHECK_SVC_PACK=”FALSE” to the bridgegate.xml under the BRIDGEGATE_CLUSTER element.

<BRIDGEGATE_CLUSTER BIND=”192.168.*.*” FAILOVER=”FALSE” NAME=”BG-SMS” PING_RATE=”30000″ SP_DEPLOY_TIMEOUT_IN_MINS=”5″ CHECK_SVC_PACK=”FALSE” />

Why does my File RTP Service take several seconds to pick up a file?

BridgeGate uses a configurable polling setting in the BridgeGate.xml to control how often the File RTP service will poll.  The default value is 20 seconds.  To modify the default value, go to the BridgeGate.xml and change the following element:

<FILE WATCHER_SVC_RATE=”20000″/>

How do I change the port for BridgeGate Connect

Regarding the port on which the BridgeGate Connect console runs, Serge, it is configurable.  You add “-Dhttp.port=<desired_port>” to the end of the Virtual Machine parameters in the “BridgeGate Connect 64.ini” file, located in the BridgeGate Connect installation directory.  The line would then look something like this.

Virtual Machine Parameters=-Xms512M -Xmx512M -Dplay.evolutions.db.default.autoApply=true -Dconfig.resource=prod.conf -Dhttp.port=9999

How do you Import a P12 (i.e.: PKCS12) Certificate Chain into a BridgeGate Java KeyStore (JKS)

*******************************************

Importing a P12 (i.e.: PKCS12) Certificate Chain into a BridgeGate Java KeyStore (JKS)

*******************************************

Keytool path:   C:\bridgegate\java\bin\keytool.exe

Openssl path:   C:\bridgegate\utils\openssl\openssl.exe

P12 Certificate Chain:  C:\data\cert\Bridgegate_HUBCertificates.p12

BG Staging JSK KeyStore:        C:\data\cert\bridgegate.jks

 

*** Note:  The Alias used in the JKS does not need to match the Common Name (CN) of the Client System Key.  The more important thing is that the BridgeGate Java KeyStore (JKS) does not contain duplicate aliases.  ***

 

1) List and verify P12 Certificate Chain contents:

c:\bridgegate\java\bin>keytool -v -list -storetype pkcs12 -keystore C:\data\cert\Bridgegate_HUBCertificates.p12

Enter keystore password:

 

*****************  WARNING WARNING WARNING  *****************

* The integrity of the information stored in your keystore  *

* has NOT been verified!  In order to verify its integrity, *

* you must provide your keystore password.                  *

*****************  WARNING WARNING WARNING  *****************

Keystore type: PKCS12

Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: Bridgegate_HUB

Creation date: Jul 11, 2014

Entry type: SecretKeyEntry

 

2) IF the P12 Certificate Chain file is not password locked, you will need to recreate is with a password:

*** Export you current certificate to a password less pem type.  Note:  Leave the ‘Import Password’ field empty in this step.

c:\bridgegate\utils\openssl>openssl pkcs12 -in C:\data\cert\Bridgegate_HUBCertificates.p12 -out C:\data\cert\export.tmp.pem -nodes

Enter Import Password:

MAC verified OK

*** Convert the password less pem to a new pfx file with password:

C:\bridgegate\utils\openssl>openssl pkcs12 -export -in C:\data\cert\export.tmp.pem -out C:\data\cert\Bridgegate_HUBCertificates.locked.p12 -name “Bridgegate_HUB”

Loading ‘screen’ into random state – done

Enter Export Password:

Verifying – Enter Export Password:

 

3) Confirm Alias name is new password locked P12 Certificate Chain.  Step 2 creates alias based on -name argument, if this is left out, the alias name can be “1”.

*** Confirm Chain length of 3 and the Owner/Issuer of each Certificate are in the proper order.  ****

c:\bridgegate\java\bin>keytool -v -list -storetype pkcs12 -keystore C:\data\cert\Bridgegate_HUBCertificates.locked.p12

Enter keystore password: ******

Keystore type: PKCS12

Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: bridgegate_hub

Creation date: Jul 14, 2014

Entry type: PrivateKeyEntry

Certificate chain length: 3

Certificate[1]:

Owner: CN=Bridgegate_HUB ClientSystem, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

Issuer: CN=uat CA, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

.

Certificate[2]:

Owner: CN=uat CA, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

Issuer: CN=ICA Root CA, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

.

Certificate[3]:

Owner: CN=ICA Root CA, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

Issuer: CN=ICA Root CA, OU=IT, O=ICA, L=Nashville, ST=TN, C=US

 

4) Import the P12 Certificate Chain into your BridgeGate Java KeyStore (JKS).

**** Note: You can alter the Alias name with the -alias and -destalias arguments. ****

c:\bridgegate\java\bin>keytool -importkeystore -destkeystore C:\data\cert\bridgegate.jks -srckeystore C:\data\cert\Bridgegate_HUBCertificates.locked.p12-srcstoretype PKCS12

Enter destination keystore password:

Enter source keystore password:

Entry for alias Bridgegate_HUB successfully imported.

Import command completed:  1 entries successfully imported, 0 entries failed or cancelled

 

5) Verify the JKS contains the new Certificate under the correct Alias.

*** WARNING: This password field is displayed on screen as clear text!  ***

c:\bridgegate\java\bin>keytool -v -list -storetype jks -keystore C:\data\cert\bridgegate.jks > c:\data\cert\out.txt

Enter keystore password:  *********

 

How do I configure a BridgeGate Cluster to use the Hazelcast TCP option?

Using Hazelcast.xml for TCP-IP configuration: Set the CONFIG_FILE attribute value to the hazelcast.xml file.

The BridgeGate cluster is configured through the BRIDGEGATE_CLUSTER tag in the bridgegate.xml file.

CONFIG_FILE This attribute is not included by default and is not necessary. Hazelcast will use multicast by default. If TCP-IP needs to be enabled or additional configuration needs to be made ( like giving specific ip-addresses for different nodes ), this setting could be used. The value of this attribute should be the file path to hazelcast.xml . Example <BRIDGEGATE_CLUSTER BIND=”172.31.*.*” CONFIG_FILE=”/bridgegate/conf/hazelcast.xml” …. /> The sample hazelcast.xml file is below

<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.6.xsd" xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <network>
      <port auto-increment="false">5701</port>
      <join>
          <multicast enabled="false"></multicast>
          <tcp-ip enabled="true">
    <interface>10.0.0.30</interface>  
    <interface>10.0.1.10</interface>
          </tcp-ip>
      </join>
  </network>
</hazelcast>
or
<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.6.xsd" xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <network>
        <port auto-increment="false">5701</port>
        <join>
            <multicast enabled="false"></multicast>
            <tcp-ip enabled="true">
    <interface>10.0.0.30-40</interface>  
    <interface>10.0.1.1-10</interface>
    <interface>10.0.2.1-10</interface>
            </tcp-ip>
        </join>
    </network>
</hazelcast>

Multicast configuration for clustering auto-discovery is defined as:

                <multicast enabled="true">
                    <multicast-group>224.2.2.3</multicast-group>
                    <multicast-port>54327</multicast-port>
                </multicast>
            

To Turn on logging for BridgeGate clustering, this can be done from the Server Management Page and Server Log Tab inside it, from the BridgeGate portal.

Alternately, edit the file conf/log4j.xml file in the BridgeGate Home. Locate the element category with attribute name com.hazelcast. The priority value can be changed from OFF to INFO or DEBUG. Verify the bridgegate\bin\bg_service.conf contains the following -D options

wrapper.java.additional.26=-Dhazelcast.logging.type=slf4j

Or on Linux make sure the /bridgegate/bin/runbridgegate has the following JAVA Opt

JAVA_OPTS=”${JAVA_OPTS}-Dhazelcast.logging.type=slf4j”

                                <category name="com.hazelcast">
                                   <priority value="OFF"/>
                                   <appender-ref ref="HAZELCAST" />
                                </category>

 

How do I enable logging for Hazelcast

To Turn on logging of Bridgegate clustering you need to enable Hazelcast logging.  First verify the bridgegate\bin\bg_service.conf contains the following -D options

wrapper.java.additional.26=-Dhazelcast.logging.type=slf4j

Or on Linux make sure the /bridgegate/bin/runbridgegate has the following JAVA Opt

JAVA_OPTS=”${JAVA_OPTS}-Dhazelcast.logging.type=slf4j”

You then can enable it from the Server Management Page and Server Log Tab inside it, from the bridgegate portal. Alternately, edit the file conf/log4j.xml file in the Bridgegate Home. Locate the element category with attribute name com.hazelcast. The priority value can be changed from OFF to INFO or DEBUG.

<category name="com.hazelcast"> 
<priority value="OFF"/> 
<appender-ref ref="HAZELCAST" /> 
</category>

How do I resolve the error Partnership not found on my BridgeGate AS2 Server

When I created a my Predefined Connection for my AS2 Server I get the following exception when I send a AS2 Message to the server.

02/06/17 13:53:11 DBPartnershipFactory: Partnership COMPARE searchValue[MYEDI] against partnerValue[MYEDIAS2] (case-insensitive))
com.oidev.as2.partner.PartnershipNotFoundException: Partnership not found: Partnership null Sender IDs = {as2_id=MYEDI} Receiver IDs = {as2_id=MYEDIAS2} Attributes = {}
                at com.oidev.as2.partner.BasePartnershipFactory.getPartnership(BasePartnershipFactory.java:28)
                at com.oidev.as2.partner.BasePartnershipFactory.updatePartnership(BasePartnershipFactory.java:48)

 

When configuring the AS2 Server make sure that if you are changing the name of the AS2 Identifier from the default it is also updated in the bridgegate.xml.   Note the AS2 Server has a single AS2 Identifier per server.  So naming it correctly the first time is important. You need to updated the bridgegate.xml  AS2_SERVER section to match (See below)       The default is “BridgeGateAS2”   Whatever you put in the bridgegate.xml must match the PDC created for the AS2 server.  More information can be found in the AS2 Installation

 

How do you configure apache to act like a proxy for BridgeGate

For example:  If your bridgegate server is running on port 8081 and you want the external URL to be     http://dev.bridgegatehealth.com     You can create a Virtual Host in apache to act as a proxy

<VirtualHost *:80> ProxyPreserveHost On ProxyPass        “/” “http:// YOUR_INTERNAL_IP:8081/” ProxyPassReverse “/” “http://YOUR_INTERNAL_IP:8081/” ServerName dev.bridgegatehealth.com </VirtualHost>

Many more options and details can be found on the httpd.apache.org website.

BridgeGate Server will not start after upgrade

I applied the latest Service Pack and now my BridgeGate server will not start.  The server log is showing the following exceptions:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

[org.springframework.web.context.support.XmlWebApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent java.lang.IllegalStateException: ApplicationEventMulticaster not initialized – call ‘refresh’ before multicasting events via the context: Root WebApplicationContext: startup date [Tue Dec 20 11:34:21 MST 2016]; root of context hierarchy

 

Solution:   Something caused the Service Pack to not fully unzip.   Delete the contents of the

\bridgegate\server\webapps\ROOT folder and the ROOT.war  and manually unzip the service pack.

Start the BridgeGate server.   This should resolve your issues.

How do I change the default protocol to TLSV 1.2

The default protocol can be changed by adding the following like to the bg_service.conf  service file located under  /bridgegate/bin directory

wrapper.java.additional.40=-Dhttps.protocols=TLSv1.2,TLSv1.1,TLSv1

How do I limit the number of archive files

This is the root to the data archive backup directory.  When this archive schedule runs, it will take all data from the data_archive, older than the DATA_RETENTION_TIME as configured in your bridgegate.xml file, and zip it up and place it in the \bridgegate\data_history folder location.

 It is not configurable but you can delete these if you want. That just means that you will be unable to get back to older data_archive files if you ever had to.

 Server documentation

How do I install Cryptography Extensions

I was able to make the connection by installing the Java Cryptography Extensions (JCE) Unlimited Strength Jurisdiction Policy files.  

These files are not included in the standard Java deployments to comply with US export rules.  However, they can be downloaded from the Oracle site at the following URL: 

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-6-oth-JPR

The zip file downloaded will contain two .jar files (local_policy.jar and US_export_policy.jar).  These files must be copied to the BridgeGate installations.   

Workbench: 

  C:\bgworkbench\java\jre\lib\security

Server: 

  C:\bridgegate\java\jre\lib\security

(Replace C: with the install drive for the software)

There should be files with the same names already in those directories — just overwrite the files that are there.  The server/workbench will have to be stopped to replace the files. 

If you have any questions, feel free to call me at (904)739-0300 x221. I will be happy to guide you through the steps. 

How do I increase the number of concurrent HTTP Transactions

The answer is that there are several options, each with their own trade-offs. Let me explain the best options to you, and you can choose the best one for your environment. 

I.  Increase maxThreads

The server.xml is configured such that the HTTP connector on port 8080 has a setting maxThreads=”300″.  However, the AJP 1.3 connector, which is the connector from httpd (mod_jk), is configured with the default thread count.  Increasing this thread count will increase the number of transactions actually running in parallel at any given time, but it may cause additional memory to be used. 

Note that the memory size reported in either Task Manager or BridgeGate is not necessarily indicative of the actual amount of memory being used at any given time. This is due to the generational memory management of the Java Virtual Machine. Basically, the JVM may be holding onto 3.6GB of memory, but may be using only a small fraction of that at any given time. The only way to really be sure how much memory is being used is by attaching a profiling application, such as jvisualvm, jstat, or any of a number of other profilers. 

The bottom line is that this setting will increase concurrent processing, but may use additional memory to do so. 

II. Increase backlog

The other option is increasing the size of the “backlog” setting on the AJP connector. This setting is analogous to the “acceptCount” setting on the HTTP connector (see http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html). When all threads are in use, the system will stil accept up to this count of connections, which will wait for free threads to process. 

Increasing this setting would keep the connections from being refused, but each additional connection sitting in the queue will wait for processing. Depending on how long they wait, the time to process may be longer than your SLA will allow.  

Can BridgeGate access DB2 tables on an AS400

Yes as long as you can access the DB via JDBC or ODBC

How do I change the timeout for FTP

FTP over SSH timeout is set using the following.

Go to the BridgeGate.xml and add the following TIMEOUT element to the existing FTP_CONFIG elements.

FTP_SSH_CONFIG TIMEOUT=”60000”
FTP_CONFIG TIMEOUT=”60000”

How do I set the Session Timeout in BridgeGate

In BridgeGate Version 7 and 8, you can alter the file server/conf/web.xml: 

<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly   -->
<!-- created sessions by modifying the value below.                       -->
  <session-config>
      <session-timeout>30</session-timeout>
  </session-config>

The same setting exists in 6.0, but the file is jboss/server/bridgegate/system/jbossweb-tomcat55.sar/conf/web.xml

View full Server Config docs

How do I disable SSL3 in BridgeGate

Disabling SSL3 in BridgeGate  should be pretty straightforward.  The server/conf/server.xml file contains a block that describes the SSL port configuration. Specifically, there is a setting that indicates the protocol, which by default reads sslProtocol=”TLS”.  Apparently, this is not entirely true,because it will roll back to SSL3.  

To get around this, you must specify the enabled protocols.  You can set this using the sslEnabledProtocols setting in that block, as shown in this configuration:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false"
           sslProtocols = "TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
           keystoreFile="C:/certificates/keystore.jks"
           keystorePass="P@55w0rD"  />

This is slightly different in BridgeGate 6.  The sslEnabledProtocols configuration was added in Tomcat 7, but there is an undocumented similar setting for BG6.  In the jboss/server/bridgegate/system/jbossweb-tomcat55.sar/server.xml file, add the protocols option as in the following:

<!-- SSL/TLS Connector configuration using the admin devl guide keystore -->
<Connector port="8443" address="${jboss.bind.address}"
     maxThreads="300" strategy="ms" maxHttpHeaderSize="8192"
     emptySessionPath="true"
     scheme="https" secure="true" clientAuth="false" 
     keystoreFile="keystore.jks"
     keystorePass="password" sslProtocol = "TLS" protocols="TLSv1,TLSv1.1"/>

If you have openssl installed on your system, you can verify SSL3 is disabled by running the following: 

openssl s_client -ssl3 -connect  <host>:8443

While the following should work:

openssl s_client -tls1 -connect <host>:8443

Ftps server is throwing errors after every upload

Getting the following exception when tried to upload a file.

 [2015-05-27 10:36:17,640] INFO  com.oidev.ftp.server.BGFileReceipt – Exception connection to BG Server Could not obtain connection to any of these urls: fe80:0:0:0:241a:9771:5f8:7c08%15:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]

[2015-05-27 10:36:17,701] INFO  com.oidev.ftp.server.BGPluginLogin – start of upload detected

[2015-05-27 10:36:17,701] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:17 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *150 Opening BINARY mode data connection.  Ready to write file upload test – Copy (20).csv. (“/ftps411387/upload test – Copy (20).csv”) S T O R*

[2015-05-27 10:36:17,984] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:17 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *226-Upload File Size:82940 bytes @ 80K/sec.*

[2015-05-27 10:36:17,985] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:17 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *226 Transfer complete.  CRC32=A1A3D86E (“/ftps411387/upload test – Copy (20).csv”) STOR*

[2015-05-27 10:36:17,990] INFO  com.oidev.ftp.server.BGPluginLogin – end of upload detected

[2015-05-27 10:36:17,990] INFO  com.oidev.ftp.server.BGFileReceipt – RealTimeMonitor called for file = /ftps411387/upload test – Copy (20).csv user = ftps411387

[2015-05-27 10:36:18,000] DEBUG org.jnp.interfaces.NamingContext – Failed to connect to fe80:1099

javax.naming.CommunicationException: Failed to connect to server fe80:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server fe80:1099 [Root exception is java.net.UnknownHostException: fe80]]

        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:269)

        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1385)

        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594)

        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)

        at javax.naming.InitialContext.lookup(Unknown Source)

        at com.oidev.bridgegate.SystemManager.getBridgeGateWorkFlow(SystemManager.java:196)

        at com.oidev.ftp.server.BGFileReceipt.endUpload(BGFileReceipt.java:46)

        at com.oidev.ftp.server.BGPluginLogin.endUpload(BGPluginLogin.java:200)

        at com.oidev.ftp.server.STOR_handler.run(STOR_handler.java:847)

        at java.lang.Thread.run(Unknown Source)

Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server fe80:1099 [Root exception is java.net.UnknownHostException: fe80]

        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:243)

        … 9 more

Caused by: java.net.UnknownHostException: fe80

        at java.net.InetAddress.getAllByName0(Unknown Source)

        at java.net.InetAddress.getAllByName(Unknown Source)

        at java.net.InetAddress.getAllByName(Unknown Source)

        at java.net.InetAddress.getByName(Unknown Source)

        at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:76)

        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:239)

        … 9 more

[2015-05-27 10:36:18,112] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:18 EDT 2015!  [41:ftps411387:96.243.230.33] READ : *PASV *

[2015-05-27 10:36:18,112] INFO  com.oidev.ftp.server.BGPluginLogin – doCommand

[2015-05-27 10:36:18,112] INFO  com.oidev.ftp.server.BGPluginLogin – PASV

[2015-05-27 10:36:18,112] INFO  com.oidev.ftp.server.BGPluginLogin –

[2015-05-27 10:36:18,615] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:18 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *227 Entering Passive Mode (10,67,59,14,12,38)*

[2015-05-27 10:36:18,719] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:18 EDT 2015!  [41:ftps411387:96.243.230.33] READ : *STOR upload test – Copy (21).csv*

[2015-05-27 10:36:18,719] INFO  com.oidev.ftp.server.BGPluginLogin – doCommand

[2015-05-27 10:36:18,719] INFO  com.oidev.ftp.server.BGPluginLogin – STOR

[2015-05-27 10:36:18,719] INFO  com.oidev.ftp.server.BGPluginLogin – upload test – Copy (21).csv

[2015-05-27 10:36:23,001] INFO  com.oidev.ftp.server.BGFileReceipt – Exception connection to BG Server Could not obtain connection to any of these urls: fe80:0:0:0:241a:9771:5f8:7c08%15:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]

[2015-05-27 10:36:23,031] INFO  com.oidev.ftp.server.BGPluginLogin – start of upload detected

[2015-05-27 10:36:23,031] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:23 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *150 Opening BINARY mode data connection.  Ready to write file upload test – Copy (21).csv. (“/ftps411387/upload test – Copy (21).csv”) S T O R*

[2015-05-27 10:36:23,366] INFO  com.oidev.ftp.server.ServerSession – !Wed May 27 10:36:23 EDT 2015!  [41:ftps411387:96.243.230.33] WROTE: *226-Upload File Size:82940 bytes @ 80K/sec.*

— Answer –

It looks like it is be trying to use IPv6 addresses.  If you can, disable IPv6 on that system.  If you cannot, you will need to update the BridgeGate services to prefer IPv4. To do that, add the following option to the bg_*.conf files (pick an unused number where it says “XX”):

wrapper.java.additional.XX=-Djava.net.preferIPv4Stack=true

My urlrewrite is not working with the executeworkflow

Modify the urlrewrite.xml located at \bridgegate\conf to have the rule.  Note make sure ampersands (“&”) properly encoded, as follows:

     <rule>
          <from>/report-856$</from>
          <to type="forward">/portal/executeworkflow?accountName=hsn&amp;wfGroupName=adhoc&amp;wfName=856trans_from_today</to>
    </rule>

 

How do I turn on debugging for SSL

Add the following to the bg_service.conf located in the \bridgegate\conf directory and restart the server.  Prepare yourself for lots of logging.

-Djavax.net.debug=all

How do I manually install a Service Pack on Linux servers

Stage the Service Pack file to: /bridgegate/servicepack

(Note:   Change ownership of file if BG not running as root)        

> chown bgate:bgate /bridgegate/servicepack/bridgegateSP_10.0.XXXXXX.zip

Execute the following commands as root:

> ls /bridgegate/servicepack

> service bridgegate stop

> rm /bridgegate/server/webapps/ROOT.war

> rm -r /bridgegate/server/webapps/ROOT/

> rm /bridgegate/server/webapps/update.war

> rm -r /bridgegate/server/webapps/update/

> unzip -o /bridgegate/servicepack/bridgegateSP_10.0.XXXXXX.zip -d /
> chown -R bgate:bgate /bridgegate/server/*

> service bridgegate start

How do I turn on logging for the BridgeGate NT Service

Add the following in the bg_service.conf file:

# Log Level for log file output.  (See docs for log levels)

wrapper.logfile.loglevel=DEBUG

wrapper.debug=true

This should output tons of info to the BridgeGateWrapper.log file.  Don’t leave it like this for long.

Address already in use: JVM_Bind

Our BridgeGate server will not start. The first exception in the stack trace is this:

Caused by: java.net.BindException: Address already in use: JVM_Bind

 Which indicates that something is already using one of the ports you are trying to open.  Specifically (the next element up the chain):

Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:80

 So, port 80 is in use by something that is not BridgeGate. Now, trying to find what is running on port 80:

netstat -ano | find “:80”

yields:

TCP    0.0.0.0:80     0.0.0.0:0     LISTENING     4

You may have IIS or another webserver running on this server.   We recommend installing Bridgegate Webserver on port 8080 

Review server configuration

What kind of environment do I need to run BridgeGate?

BridgeGate™ is written in Java so it is capable of running on any environment that supports Java (such as Windows, UNIX/Linux, AIX, or Mac). For windows installations the supported version of Java is included in the installation. For Linux installations BridgeGate will the version of Java installed on the server. BridgeGate 8.0 requires Java 8