[ 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-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org