[prev in list] [next in list] [prev in thread] [next in thread]
List: axis-dev
Subject: [jira] [Commented] (AXIS2-6046) AxisFault after upgrade to 1.8.0
From: 杨林_(Jira) <jira () apache ! org>
Date: 2022-11-01 2:43:00
Message-ID: JIRA.13485225.1665200975000.54629.1667270580115 () Atlassian ! JIRA
[Download RAW message or body]
[ https://issues.apache.org/jira/browse/AXIS2-6046?page=com.atlassian.jira.plugin. \
system.issuetabpanels:comment-tabpanel&focusedCommentId=17626924#comment-17626924 ]
杨林 commented on AXIS2-6046:
---------------------------
The stack trace:
obtainHTTPHeaderInformation:443, HTTPSender (org.apache.axis2.transport.http)
send:214, HTTPSender (org.apache.axis2.transport.http)
writeMessageWithCommons:385, AbstractHTTPTransportSender \
(org.apache.axis2.transport.http) invoke:213, AbstractHTTPTransportSender \
(org.apache.axis2.transport.http) send:431, AxisEngine (org.apache.axis2.engine)
executeImpl:266, OutOnlyAxisOperationClient (org.apache.axis2.description)
execute:150, OperationClient (org.apache.axis2.client)
helloReq:144, SoapServiceStub (wsdl.clientSoapToSoapServer)
invoke0:-1, NativeMethodAccessorImpl (sun.reflect)
invoke:62, NativeMethodAccessorImpl (sun.reflect)
invoke:43, DelegatingMethodAccessorImpl (sun.reflect)
invoke:498, Method (java.lang.reflect)
and my axis2.xml
<axisconfig name="AxisJava2.0">
<!-- ================================================= -->
<!-- Parameters -->
<!-- ================================================= -->
<parameter name="hotdeployment" locked="false">false</parameter>
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
<parameter name="EnableChildFirstClassLoading">false</parameter>
<parameter name="exposeServiceMetadata">true</parameter>
<parameter name="ConfigContextTimeoutInterval">30000</parameter>
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>
<parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
<parameter name="disableREST" locked="false">false</parameter>
<!-- Following parameter will suppress generation of SOAP 1.2 bindings in \
auto-generated WSDL files --> <parameter name="disableSOAP12" \
locked="true">false</parameter>
<!--Service deployer , this will alow users to deploy AAR or exploded AAR as \
axis2 services--> <deployer extension=".aar" directory="services" \
class="org.apache.axis2.deployment.ServiceDeployer">
<serviceBuilderExtension name ="wsdlbuilderExt" \
class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/> </deployer>
<deployer extension=".class" directory="pojo" \
class="org.apache.axis2.deployment.POJODeployer"/> <deployer extension=".jar" \
directory="servicejars" class="org.apache.axis2.jaxws.framework.JAXWSDeployer"/>
<deployer extension=".jar" directory="transports"
class="org.apache.axis2.deployment.TransportDeployer"/>
<parameter name="useGeneratedWSDLinJAXWS">false</parameter>
<threadContextMigrators>
<threadContextMigrator listId="JAXWS-ThreadContextMigrator-List"
\
class="org.apache.axis2.jaxws.addressing.migrator.EndpointContextMapMigrator"/> \
</threadContextMigrators>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
\
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> <messageReceiver \
mep="http://www.w3.org/2004/08/wsdl/in-out"
\
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> <messageReceiver \
mep="http://www.w3.org/2006/01/wsdl/in-only"
\
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> <messageReceiver \
mep="http://www.w3.org/2006/01/wsdl/in-out"
\
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> <messageReceiver \
mep="http://www.w3.org/ns/wsdl/in-only"
\
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> <messageReceiver \
mep="http://www.w3.org/ns/wsdl/in-out"
\
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> </messageReceivers>
<messageFormatters>
<messageFormatter contentType="application/x-www-form-urlencoded"
\
class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/> <messageFormatter \
contentType="multipart/form-data"
\
class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/> \
<messageFormatter contentType="application/xml"
\
class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/> <messageFormatter \
contentType="text/xml"
\
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/> <messageFormatter \
contentType="application/soap+xml"
\
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/> </messageFormatters>
<messageBuilders>
<messageBuilder contentType="application/xml"
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
<messageBuilder contentType="application/x-www-form-urlencoded"
class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
<messageBuilder contentType="multipart/form-data"
class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
</messageBuilders>
<transportReceiver name="http"
class="org.apache.axis2.transport.http.AxisServletListener"/>
<transportReceiver name="https"
class="org.apache.axis2.transport.http.AxisServletListener">
</transportReceiver>
<transportSender name="local"
class="org.apache.axis2.transport.local.LocalTransportSender"/>
<transportSender name="http"
\
class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender">
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
<transportSender name="https"
\
class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> \
<parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter \
name="Transfer-Encoding">chunked</parameter> </transportSender>
<clustering class="org.apache.axis2.clustering.tribes.TribesClusteringAgent" \
enable="false">
<parameter name="AvoidInitiation">true</parameter>
<parameter name="membershipScheme">multicast</parameter>
<parameter name="domain">wso2.carbon.domain</parameter>
<parameter name="synchronizeAll">true</parameter>
<parameter name="maxRetries">10</parameter>
<parameter name="mcastFrequency">500</parameter>
<parameter name="memberDropTime">3000</parameter>
<parameter name="mcastBindAddress">127.0.0.1</parameter>
<!-- The host name or IP address of this member -->
<parameter name="localMemberHost">127.0.0.1</parameter>
<parameter name="preserveMessageOrder">true</parameter>
<parameter name="atmostOnceMessageSemantics">true</parameter>
<parameter name="properties">
<property name="backendServerURL" \
value="https://${hostName}:${httpsPort}/services/"/>
<property name="mgtConsoleURL" \
value="https://${hostName}:${httpsPort}/"/> </parameter>
<groupManagement enable="false">
<applicationDomain name="apache.axis2.application.domain"
description="Axis2 group"
\
agent="org.apache.axis2.clustering.management.DefaultGroupManagementAgent"/> \
</groupManagement>
<nodeManager \
class="org.apache.axis2.clustering.management.DefaultNodeManager" enable="true"/>
<stateManager class="org.apache.axis2.clustering.state.DefaultStateManager"
enable="true">
<replication>
<defaults>
<exclude name="local_*"/>
<exclude name="LOCAL_*"/>
</defaults>
<context class="org.apache.axis2.context.ConfigurationContext">
<exclude name="local_*"/>
</context>
<context class="org.apache.axis2.context.ServiceGroupContext">
<exclude name="local_*"/>
</context>
<context class="org.apache.axis2.context.ServiceContext">
<exclude name="local_*"/>
</context>
</replication>
</stateManager>
</clustering>
<!-- ================================================= -->
<!-- Phases -->
<!-- ================================================= -->
<phaseOrder type="InFlow">
<!-- System predefined phases -->
<phase name="Transport">
<handler name="Redirect"
\
class="com.table.news.soap.axis2.handler.redirect.UrlRedirectHandler"> <order \
phase="Transport"/> </handler>
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
<order phase="Transport"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
<order phase="Transport"/>
</handler>
</phase>
<phase name="Addressing">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
<order phase="Addressing"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="PreDispatch"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
<handler name="RequestURIOperationDispatcher"
\
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/> <handler \
name="SOAPMessageBodyBasedDispatcher"
\
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/> <handler \
name="HTTPLocationBasedDispatcher"
\
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/> <handler \
name="GenericProviderDispatcher"
\
class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/> <handler \
name="MustUnderstandValidationDispatcher"
\
class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/> \
</phase> <phase name="RMPhase"/>
<!-- System predefined phases -->
<!-- After Postdispatch phase module author or service author can add any \
phase he want --> <phase name="OperationInPhase">
<handler name="MustUnderstandChecker"
\
class="org.apache.axis2.jaxws.dispatchers.MustUnderstandChecker"> <order \
phase="OperationInPhase"/> </handler>
</phase>
<!--<phase name="soapmonitorPhase"/>-->
</phaseOrder>
<phaseOrder type="OutFlow">
<phase name="OperationOutPhase"/>
<phase name="RMPhase"/>
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
<phase name="Security"/>
</phaseOrder>
<phaseOrder type="InFaultFlow">
<phase name="Addressing">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
<order phase="Addressing"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="PreDispatch"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
<handler name="RequestURIOperationDispatcher"
\
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/> <handler \
name="SOAPMessageBodyBasedDispatcher"
\
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/> <handler \
name="HTTPLocationBasedDispatcher"
\
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/> <handler \
name="GenericProviderDispatcher"
\
class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/> <handler \
name="MustUnderstandValidationDispatcher"
\
class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/> \
</phase> <phase name="RMPhase"/>
<!-- user can add his own phases to this area -->
<phase name="OperationInFaultPhase"/>
<!--<phase name="soapmonitorPhase"/>-->
</phaseOrder>
<phaseOrder type="OutFaultFlow">
<!-- user can add his own phases to this area -->
<!--<phase name="soapmonitorPhase"/>-->
<phase name="OperationOutFaultPhase"/>
<phase name="RMPhase"/>
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
<phase name="Security"/>
</phaseOrder>
</axisconfig>
After debugging the source code I have found that
Axis2 1.8.X
HTTPSender.obtainHTTPHeaderInformation
ContentType contentType;
try {
contentType = new ContentType(contentTypeString);
} catch (ParseException ex) {
throw AxisFault.makeFault(ex);
}
axis2 1.7.9
org.apache.axis2.transport.http.impl.httpclient4.HTTPSenderImpl.HTTPSenderImpl
Object contentType = header.getValue();
Object charSetEnc = null;
for (int i = 0; i < headers.length; i++) {
NameValuePair charsetEnc = headers[i]
.getParameterByName(HTTPConstants.CHAR_SET_ENCODING);
if (charsetEnc != null) {
charSetEnc = charsetEnc.getValue();
}
}
> AxisFault after upgrade to 1.8.0
> --------------------------------
>
> Key: AXIS2-6046
> URL: https://issues.apache.org/jira/browse/AXIS2-6046
> Project: Axis2
> Issue Type: Bug
> Components: transports
> Affects Versions: 1.8.0
> Reporter: 杨林
> Priority: Blocker
> Attachments: image-2022-10-08-11-48-20-446.png, image-2022-10-08-11-49-30-028.png, \
> screenshot-1.png
>
> After update to 1.8.0 from 1.7.9 , I received an \
> AxisFault:java.text.ParseException: Token expected The cause of the AxisFault is \
> that content-type is empty.
> !image-2022-10-08-11-49-30-028.png!
> I use axis2 to send a soap message as a notification to third-party . And i only \
> need a response ,don`t care about the response content 。 In addition, the \
> third-party simply returns a response with empty body . such as
> !image-2022-10-08-11-48-20-446.png|width=543,height=147!
>
> And OperationClient is OutOnlyAxisOperationClient
> Is content-type mandatory in this scenario?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic