It's not possible to start transaction when server is bound to address ::1. When address [::1] is used then it works fine. Address that is returned when transaction is created here https://github.com/jbosstm/narayana/blob/6a9d29248105efa72e631fd8ee65f1d3f7c34461/XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java#L41 is http://::1:8080/ws-c11/ActivationService but square brackets should be used around [::1] here. How to reproduce: change node0 in pom.xml (https://github.com/jbosstm/quickstart/blob/4.17/XTS/demo/test/pom.xml#L248) from [::1] to ::1 and run the test like: mvn clean install -fae -Dipv6 -Parq-jbossas-managed-7 -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true -Dtest=XTSDemoTest#testAtomicTransaction Note: using -b attribute with [::1] is not correct as discussed here https://bugzilla.redhat.com/show_bug.cgi?id=1064771#c3. Correctly it should be used -b ::1. [::1] should be used in case of URLs (where port could appear) but not in case of ipv6 definition. The bug bz1064771 will be fixed but just as a backward compatibility issue and the WildFly (at least what I tested last week) does not accept the [::1] for webservices.
OK, I found out that is reproducible just by running quickstarts without any change. I mean it's not necessary to change [::1] to ::1 in pom.xml. It seems that there is some change in webservices that returns address without brackets and the XTS does not check.
This happens because of the following configuration element: <xts-environment url="http://${jboss.bind.address:127.0.0.1}:8080/ws-c11/ActivationService"/> If bind address is set to ::1, then xts environment URL becomes http://::1:8080/ws-c11/ActivationService. This is incorrect, because IPv6 address with port number in it suppose to have brackets. My suggestion is to split the configuration to multiple values: scheme, IP/domain name, and port. Additionally, we could add the activation service location, if it should be modifiable. After this split, we could parse the IP address part and add brackets if required.
Hi Stefano, Thanks for taking this one on. The work is as suggested in Gytis' comment. We need to split up the URL and then when converting it to the URL to pass into the XTS core we can wrap the address with "[]" as required. Thanks, Tom
Gytis' suggestion to split configuration to multiple values should work but it is not a easy way to do the transformer. So I had proposed to just split the address from the current xts-environment attribute and add the bruckets if required and join them again. Amos
Verified on 6.4.0.DR11 Just to note that putting jboss bind address as [::1] is not correct from spec point of view and webservices won't start if you do so. Check the bz: https://bugzilla.redhat.com/show_bug.cgi?id=1064771
Portal media informatif terkini https://tafsiran.com/