You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by ro...@apache.org on 2026/01/14 17:04:09 UTC
(axis-axis2-c-core) branch master updated (5f49f8b62 -> f54d2b034)
This is an automated email from the ASF dual-hosted git repository.
robertlazarski pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-c-core.git
from 5f49f8b62 AXIS2C-1535: Return HTTP 408 status code on timeout/connection errors
new afc01ff70 AXIS2C-1338: Fix make install using wrong directories
new f54d2b034 AXIS2C-1005: Fix spurious error logs in dual channel clients
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
Makefile.am | 16 +++++++++-------
axiom/Makefile.am | 5 +++--
guththila/Makefile.am | 5 +++--
.../transport/http/sender/http_transport_sender.c | 19 +++++++++++++++++++
tools/md5/Makefile.am | 7 ++++---
tools/tcpmon/Makefile.am | 7 ++++---
util/Makefile.am | 5 +++--
7 files changed, 45 insertions(+), 19 deletions(-)
(axis-axis2-c-core) 01/02: AXIS2C-1338: Fix make install using wrong directories
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-c-core.git
commit afc01ff70320b7a8c53d484c5d156d10b6eef305
Author: Robert Lazarski <ro...@gmail.com>
AuthorDate: Wed Jan 14 06:29:23 2026 -1000
AXIS2C-1338: Fix make install using wrong directories
The Makefile.am files were installing files to incorrect locations:
- datadir=$(prefix) caused docs to install to /usr instead of /usr/share
- tools installed data under /usr/bin/tools/ creating improper subdirs
- Each subproject installed duplicate doc files (README, INSTALL, etc.)
Fix by using standard autoconf directory variables:
- Data files: $(datadir)/axis2c -> /usr/share/axis2c
- Documentation: $(docdir) -> /usr/share/doc/axis2c
- Logs: $(localstatedir)/log/axis2c -> /var/log/axis2c
- Tools: $(libexecdir)/axis2c -> /usr/libexec/axis2c
Remove redundant documentation installs from subprojects (axiom, guththila,
util, tools/tcpmon, tools/md5) as they're included in EXTRA_DIST for
distribution but don't need separate installation.
Co-Authored-By: Claude Opus 4.5 <no...@anthropic.com>
---
Makefile.am | 16 +++++++++-------
axiom/Makefile.am | 5 +++--
guththila/Makefile.am | 5 +++--
tools/md5/Makefile.am | 7 ++++---
tools/tcpmon/Makefile.am | 7 ++++---
util/Makefile.am | 5 +++--
6 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index a6de73559..f0276251c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,11 +12,13 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)
-logsdir=$(prefix)/logs
-docsdir=$(prefix)
+# AXIS2C-1338: Use proper installation directories following standard conventions
+# Data files go to $(datadir)/axis2c, docs to $(docdir), tools to libexec
+axis2cdatadir=$(datadir)/axis2c
+logsdir=$(localstatedir)/log/axis2c
+docsdir=$(docdir)
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}
-wsdl2cdir=$(prefix)/bin/tools/wsdl2c
+wsdl2cdir=$(libexecdir)/axis2c/wsdl2c
pkgconfigdir = $(libdir)/pkgconfig
@@ -35,9 +37,9 @@ include_HEADERS=$(top_srcdir)/include/*.h
# Install configuration files and documentation
# For in-tree builds, skip installing files that are already in the correct location
# to avoid "file and destination are the same" errors during development builds
-data_DATA= samples/server/axis2.xml
+axis2cdata_DATA= samples/server/axis2.xml
logs_DATA=
-docs_DATA=
+docs_DATA=
wsdl2c_DATA=tools/codegen/javatool/WSDL2C.sh tools/codegen/javatool/README
# Conditionally include gtest in distribution only if it's available
if GTEST_AVAILABLE
@@ -99,7 +101,7 @@ install-data-hook:
mkdir -p $(DESTDIR)$(docsdir)
cp -r docs $(DESTDIR)$(docsdir)
rm -rf `find $(DESTDIR)$(docsdir)/ -type d -name .git`
- rm $(DESTDIR)$(docsdir)/README
+ rm -f $(DESTDIR)$(docsdir)/README
@for file in README INSTALL CREDITS COPYING NEWS NOTICE AUTHORS; do \
if [ ! "$(abs_srcdir)/$$file" -ef "$(DESTDIR)$(datadir)/$$file" ]; then \
$(INSTALL_DATA) "$(srcdir)/$$file" "$(DESTDIR)$(datadir)/$$file"; \
diff --git a/axiom/Makefile.am b/axiom/Makefile.am
index 91874345a..ad1415754 100644
--- a/axiom/Makefile.am
+++ b/axiom/Makefile.am
@@ -12,11 +12,12 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)
+# AXIS2C-1338: Removed datadir=$(prefix) and data_DATA which installed
+# documentation files to wrong location. These files are in EXTRA_DIST
+# for distribution but don't need separate installation as a subproject.
SUBDIRS = src $(GTEST) $(TESTDIR) include
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}/
include_HEADERS=$(top_srcdir)/include/*.h
-data_DATA= INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING
EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE gtest
dist-hook:
rm -rf `find $(distdir)/ -type d -name .git`
diff --git a/guththila/Makefile.am b/guththila/Makefile.am
index abd3940a7..e62bfc26d 100644
--- a/guththila/Makefile.am
+++ b/guththila/Makefile.am
@@ -12,11 +12,12 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)
+# AXIS2C-1338: Removed datadir=$(prefix) and data_DATA which installed
+# documentation files to wrong location. These files are in EXTRA_DIST
+# for distribution but don't need separate installation as a subproject.
SUBDIRS = src $(GTEST) $(TESTDIR)
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}/
include_HEADERS=$(top_srcdir)/include/*.h
-data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING
#EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE
dist-hook:
rm -rf `find $(distdir)/ -type d -name .git`
diff --git a/tools/md5/Makefile.am b/tools/md5/Makefile.am
index 532dd72b1..3d81656d7 100644
--- a/tools/md5/Makefile.am
+++ b/tools/md5/Makefile.am
@@ -12,8 +12,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)/bin/tools/md5
-SUBDIRS = src
+# AXIS2C-1338: Removed datadir=$(prefix)/bin/tools/md5 and data_DATA
+# which incorrectly created subdirectories under bin. Documentation files
+# are in EXTRA_DIST for distribution but don't need separate installation.
+SUBDIRS = src
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}
-data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING
EXTRA_DIST=LICENSE
diff --git a/tools/tcpmon/Makefile.am b/tools/tcpmon/Makefile.am
index 41008fd32..48f6704e9 100644
--- a/tools/tcpmon/Makefile.am
+++ b/tools/tcpmon/Makefile.am
@@ -12,9 +12,10 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)/bin/tools/tcpmon
-SUBDIRS = src
+# AXIS2C-1338: Removed datadir=$(prefix)/bin/tools/tcpmon and data_DATA
+# which incorrectly created subdirectories under bin. Documentation files
+# are in EXTRA_DIST for distribution but don't need separate installation.
+SUBDIRS = src
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}
include_HEADERS=$(top_srcdir)/include/*.h
-data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING
EXTRA_DIST=LICENSE
diff --git a/util/Makefile.am b/util/Makefile.am
index 1c79b04e2..f0a9f95b3 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -12,7 +12,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-datadir=$(prefix)
+# AXIS2C-1338: Removed datadir=$(prefix) and data_DATA which installed
+# documentation files to wrong location. These files are in EXTRA_DIST
+# for distribution but don't need separate installation as a subproject.
tmpincludedir=$(prefix)/include/axis2-${PACKAGE_VERSION}/
includedir=$(prefix)/include/axis2-${PACKAGE_VERSION}/
SUBDIRS = src $(GTEST) $(TESTDIR)
@@ -31,7 +33,6 @@ windowsincludedir=$(platformincludedir)/windows/
windowsinclude_HEADERS= $(top_srcdir)/include/platforms/windows/*.h
tmpinclude_DATA=config.h
-data_DATA= INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING
EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE gtest
dist-hook:
rm -rf `find $(distdir)/ -type d -name .git`
(axis-axis2-c-core) 02/02: AXIS2C-1005: Fix spurious error logs in dual channel clients
Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-c-core.git
commit f54d2b034c8377d2fcbd210919b3a32be537117e
Author: Robert Lazarski <ro...@gmail.com>
AuthorDate: Wed Jan 14 07:00:53 2026 -1000
AXIS2C-1005: Fix spurious error logs in dual channel clients
Dual channel clients (echo_blocking_dual, echo_non_blocking_dual) were logging
spurious errors on successful operation:
"Extra content at the end of the document"
"SOAP message does not have a SOAP envelope element"
The root cause was the HTTP transport sender trying to parse the HTTP response
as SOAP even in dual channel mode. In dual mode, the HTTP response is just a
202 ACK with no body - the actual SOAP response comes later on the callback
channel. Attempting to parse the empty ACK response as SOAP caused the errors.
Fix by checking the AXIS2_USE_SEPARATE_LISTENER property before attempting to
parse the response. If using a separate listener (dual channel), skip the
response parsing since the response will arrive on the callback channel.
Co-Authored-By: Claude Opus 4.5 <no...@anthropic.com>
---
.../transport/http/sender/http_transport_sender.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/core/transport/http/sender/http_transport_sender.c b/src/core/transport/http/sender/http_transport_sender.c
index 700c42196..58d3e161d 100644
--- a/src/core/transport/http/sender/http_transport_sender.c
+++ b/src/core/transport/http/sender/http_transport_sender.c
@@ -904,6 +904,25 @@ axis2_http_transport_sender_write_message(
}
else
{
+ /* AXIS2C-1005: Check if using separate listener (dual channel mode).
+ * In dual mode, the HTTP response is just a 202 ACK with no body -
+ * the actual response comes later on the callback channel. Don't try
+ * to parse an empty/ACK response as SOAP, which causes spurious
+ * "SOAP message does not have a SOAP envelope" errors. */
+ axutil_property_t *sep_listener_prop = axis2_msg_ctx_get_property(msg_ctx, env,
+ AXIS2_USE_SEPARATE_LISTENER);
+ if(sep_listener_prop)
+ {
+ axis2_char_t *sep_listener_val = axutil_property_get_value(sep_listener_prop, env);
+ if(sep_listener_val && axutil_strcmp(sep_listener_val, AXIS2_VALUE_TRUE) == 0)
+ {
+ /* Using separate listener - response will come on callback channel */
+ AXIS2_HTTP_SENDER_FREE(sender, env);
+ sender = NULL;
+ return status;
+ }
+ }
+
/* AXIS2_MEP_URI_IN_OUT case , we have a response this
* time */
soap_ns_uri