Coder Social home page Coder Social logo

The tengine proxy request will return a data size of 0kb, but the logging status code is 200, and the user client displays the request as failed. about tengine HOT 15 OPEN

sunshuxin avatar sunshuxin commented on June 18, 2024
The tengine proxy request will return a data size of 0kb, but the logging status code is 200, and the user client displays the request as failed.

from tengine.

Comments (15)

jack-yli avatar jack-yli commented on June 18, 2024

image
image
image
image

Add some information to address the above issues

At present, it has been found that all agents using different versions of tengine have encountered a request with a 0kb and status code of 200. However, the old agents using nginx have not found this situation. It is currently suspected that it is a problem with the tengine processing process. The business mode of all agents using nginx and tengine is the same.

from tengine.

chobits avatar chobits commented on June 18, 2024

Could you provide us with a minimal reproducible example?
For instance, utilize the curl command to replicate the unsuccessful request, along with specific nginx configuration details.

From the tcpdump package log, you can reconstruct the request with curl command. Then use that command to request nginx and try to reproduce

from tengine.

chobits avatar chobits commented on June 18, 2024

Another potentially valuable suggestion could involve referencing the debug log for nginx/tengine. This would significantly enhance our ability to address the issue effectively. This would greatly speed up the problem addressing process if you could furnish us with the debug log pertaining to the unsuccessful request.

from tengine.

sunshuxin avatar sunshuxin commented on June 18, 2024

Hello, there are records in the error log: client Backend instance ip closed keepalive connection
e2ff238cd53f3e6b1c19a8e01aadf8f1
Do you have any helpful information.

from tengine.

jack-yli avatar jack-yli commented on June 18, 2024

The return data of the abnormal curl was replicated using curl. Currently, a request with incomplete transmission has been replicated, and the normal return size is around 40164, while this incomplete request is only 28579

root@VTN-ubuntu:~/wangyuhao# curl http://xxx.xxx.54.34:9999/services/userAPI?wsdl

wsdl:types
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://service.ra.tca.topca.cn/" xmlns:tns="http://service.ra.tca.topca.cn/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="queryCertResult">
xs:sequence
<xs:element name="totalSize" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="certInfos" nillable="true" type="tns:certInfo"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="userInfos" nillable="true" type="tns:userInfo"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="certInfo">
xs:sequence
<xs:element minOccurs="0" name="certStatus" type="xs:string"/>
<xs:element minOccurs="0" name="certReqDate" type="xs:string"/>
<xs:element minOccurs="0" name="certReqTransid" type="xs:string"/>
<xs:element minOccurs="0" name="certReqNonce" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufType" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certReqComment" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRejectDate" type="xs:string"/>
<xs:element minOccurs="0" name="certSignDate" type="xs:string"/>
<xs:element minOccurs="0" name="certSerialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="certNotBefore" type="xs:string"/>
<xs:element minOccurs="0" name="certNotAfter" type="xs:string"/>
<xs:element minOccurs="0" name="certIssuerHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certIssuerDn" type="xs:string"/>
<xs:element minOccurs="0" name="certSubjectHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certSubjectDn" type="xs:string"/>
<xs:element minOccurs="0" name="certSuspendDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeReason" type="xs:string"/>
<xs:element minOccurs="0" name="certRenewalDate" type="xs:string"/>
<xs:element name="certRenewalPrevId" type="xs:int"/>
<xs:element name="certRenewalNextId" type="xs:int"/>
<xs:element name="certReqOverrideValidity" type="xs:int"/>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certPin" type="xs:string"/>
<xs:element minOccurs="0" name="certType" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq1" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq2" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq3" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep1" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep2" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep3" type="xs:string"/>
<xs:element minOccurs="0" name="certDeliverMode" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveAdmin1" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveAdmin2" type="xs:string"/>
<xs:element minOccurs="0" name="certRenewemailDeliver" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufTypeKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufP7Kmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufP7" type="xs:string"/>
<xs:element minOccurs="0" name="certSerialnumberKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certTypeKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certReqPublickey" type="xs:string"/>
<xs:element minOccurs="0" name="certReqPublickeyHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certIdRandom" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="userInfo">
xs:sequence
<xs:element name="accountId" type="xs:int"/>
<xs:element minOccurs="0" name="userName" type="xs:string"/>
<xs:element minOccurs="0" name="userSurname" type="xs:string"/>
<xs:element minOccurs="0" name="userSerialnumber" type="xs:string"/>
<xs:element minOccurs="0" name="userEmail" type="xs:string"/>
<xs:element minOccurs="0" name="userOrganization" type="xs:string"/>
<xs:element minOccurs="0" name="userOrgunit" type="xs:string"/>
<xs:element minOccurs="0" name="userCountry" type="xs:string"/>
<xs:element minOccurs="0" name="userState" type="xs:string"/>
<xs:element minOccurs="0" name="userLocality" type="xs:string"/>
<xs:element minOccurs="0" name="userStreet" type="xs:string"/>
<xs:element minOccurs="0" name="userDns" type="xs:string"/>
<xs:element minOccurs="0" name="userIp" type="xs:string"/>
<xs:element minOccurs="0" name="userTitle" type="xs:string"/>
<xs:element minOccurs="0" name="userDescription" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField1" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField2" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField3" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField4" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField5" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField6" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField7" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField8" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField9" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField10" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountInfo">
xs:sequence
<xs:element minOccurs="0" name="parentHash" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="accountConfig" type="tns:accountConfigResult"/>
<xs:element minOccurs="0" name="accountOrganization" type="xs:string"/>
<xs:element minOccurs="0" name="accountOrgunit" type="xs:string"/>
<xs:element minOccurs="0" name="accountEmail" type="xs:string"/>
<xs:element minOccurs="0" name="accountStatus" type="xs:string"/>
<xs:element name="accountOrder" type="xs:int"/>
<xs:element name="accountQuantity" type="xs:int"/>
<xs:element minOccurs="0" name="accountServiceEndDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountEnrollDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountApproveDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountRejectDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountSuspendDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountCertDeliver" type="xs:string"/>
<xs:element minOccurs="0" name="accountAutoDeliver" type="xs:string"/>
<xs:element name="accountCertOrder" type="xs:int"/>
<xs:element name="accountCertQuantity" type="xs:int"/>
<xs:element name="accountOcspOrder" type="xs:int"/>
<xs:element name="accountOcspQuantity" type="xs:int"/>
<xs:element name="accountMinAdmin" type="xs:int"/>
<xs:element minOccurs="0" name="accountType" type="xs:string"/>
<xs:element name="accountRenewDay" type="xs:int"/>
<xs:element minOccurs="0" name="accountServiceURL" type="xs:string"/>
<xs:element name="accountChoose" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountConfigResult">
xs:sequence
<xs:element minOccurs="0" name="certTemplate" type="xs:string"/>
<xs:element minOccurs="0" name="serviceUrl" type="xs:string"/>
<xs:element minOccurs="0" name="algorithm" type="xs:string"/>
<xs:element minOccurs="0" name="isDoubleCert" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="RaServiceUnavailable" type="tns:RaServiceUnavailable"/>
<xs:complexType name="RaServiceUnavailable">
xs:sequence
<xs:element name="errorCode_" nillable="true" type="xs:int"/>
<xs:element name="message_" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertId" type="tns:queryCertByCertId"/>
<xs:complexType name="queryCertByCertId">
xs:sequence
<xs:element name="certId" type="xs:int"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertIdResponse" type="tns:queryCertByCertIdResponse"/>
<xs:complexType name="queryCertByCertIdResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="unsuspendCert" type="tns:unsuspendCert"/>
<xs:complexType name="unsuspendCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="unsuspendCertResponse" type="tns:unsuspendCertResponse"/>
<xs:complexType name="unsuspendCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="queryCerts" type="tns:queryCerts"/>
<xs:complexType name="queryCerts">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certInfo" type="tns:certInfo"/>
<xs:element name="pageIndex" type="xs:int"/>
<xs:element name="pageSize" type="xs:int"/>
<xs:element minOccurs="0" name="sqlTemplateFileName" type="xs:string"/>
<xs:element minOccurs="0" name="nextResultTag" type="xs:string"/>
<xs:element minOccurs="0" name="totalTag" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertsResponse" type="tns:queryCertsResponse"/>
<xs:complexType name="queryCertsResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadDeltaCRL" type="tns:downloadDeltaCRL"/>
<xs:complexType name="downloadDeltaCRL">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadDeltaCRLResponse" type="tns:downloadDeltaCRLResponse"/>
<xs:complexType name="downloadDeltaCRLResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getCertChainByAccount" type="tns:getCertChainByAccount"/>
<xs:complexType name="getCertChainByAccount">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getCertChainByAccountResponse" type="tns:getCertChainByAccountResponse"/>
<xs:complexType name="getCertChainByAccountResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCRL" type="tns:downloadCRL"/>
<xs:complexType name="downloadCRL">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCRLResponse" type="tns:downloadCRLResponse"/>
<xs:complexType name="downloadCRLResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCert" type="tns:enrollCert"/>
<xs:complexType name="enrollCert">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCertResponse" type="tns:enrollCertResponse"/>
<xs:complexType name="enrollCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="syncAccountInfo" type="tns:syncAccountInfo"/>
<xs:complexType name="syncAccountInfo">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="syncAccountInfoResponse" type="tns:syncAccountInfoResponse"/>
<xs:complexType name="syncAccountInfoResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:accountInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertAA" type="tns:renewCertAA"/>
<xs:complexType name="renewCertAA">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="origin" type="tns:certInfo"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="aaCheckPoint" type="xs:string"/>
<xs:element minOccurs="0" name="passCode" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertAAResponse" type="tns:renewCertAAResponse"/>
<xs:complexType name="renewCertAAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCA" type="tns:downloadCA"/>
<xs:complexType name="downloadCA">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCAResponse" type="tns:downloadCAResponse"/>
<xs:complexType name="downloadCAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="doScript" type="tns:doScript"/>
<xs:complexType name="doScript">
xs:sequence
<xs:element minOccurs="0" name="scriptName" type="xs:string"/>
<xs:element minOccurs="0" name="jsonMap" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="doScriptResponse" type="tns:doScriptResponse"/>
<xs:complexType name="doScriptResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="synchroTemplate" type="tns:synchroTemplate"/>
<xs:complexType name="synchroTemplate">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="synchroTemplateResponse" type="tns:synchroTemplateResponse"/>
<xs:complexType name="synchroTemplateResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:accountConfigResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertBySerialNumber" type="tns:queryCertBySerialNumber"/>
<xs:complexType name="queryCertBySerialNumber">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertBySerialNumberResponse" type="tns:queryCertBySerialNumberResponse"/>
<xs:complexType name="queryCertBySerialNumberResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="pickupCert" type="tns:pickupCert"/>
<xs:complexType name="pickupCert">
xs:sequence
<xs:element minOccurs="0" name="certPin" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="pickupCertResponse" type="tns:pickupCertResponse"/>
<xs:complexType name="pickupCertResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="revokeCert" type="tns:revokeCert"/>
<xs:complexType name="revokeCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeReason" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="revokeCertResponse" type="tns:revokeCertResponse"/>
<xs:complexType name="revokeCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="renewCert" type="tns:renewCert"/>
<xs:complexType name="renewCert">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="origin" type="tns:certInfo"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertResponse" type="tns:renewCertResponse"/>
<xs:complexType name="renewCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="queryCertByCertId2" type="tns:queryCertByCertId2"/>
<xs:complexType name="queryCertByCertId2">
xs:sequence
<xs:element name="certId" type="xs:long"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertId2Response" type="tns:queryCertByCertId2Response"/>
<xs:complexType name="queryCertByCertId2Response">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="suspendCert" type="tns:suspendCert"/>
<xs:complexType name="suspendCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="suspendCertResponse" type="tns:suspendCertResponse"/>
<xs:complexType name="suspendCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="enrollCertAA" type="tns:enrollCertAA"/>
<xs:complexType name="enrollCertAA">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="aaCheckPoint" type="xs:string"/>
<xs:element minOccurs="0" name="passCode" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCertAAResponse" type="tns:enrollCertAAResponse"/>
<xs:complexType name="enrollCertAAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="enrollCertAA">
<wsdl:part element="tns:enrollCertAA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertsResponse">
<wsdl:part element="tns:queryCertsResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCertChainByAccount">
<wsdl:part element="tns:getCertChainByAccount" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="doScriptResponse">
<wsdl:part element="tns:doScriptResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertAAResponse">
<wsdl:part element="tns:renewCertAAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadDeltaCRL">
<wsdl:part element="tns:downloadDeltaCRL" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="syncAccountInfo">
<wsdl:part element="tns:syncAccountInfo" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertBySerialNumberResponse">
<wsdl:part element="tns:queryCertBySerialNumberResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCRLResponse">
<wsdl:part element="tns:downloadCRLResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="RaServiceUnavailable">
<wsdl:part element="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:part>
</wsdl:message>
<wsdl:message name="suspendCertResponse">
<wsdl:part element="tns:suspendCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadDeltaCRLResponse">
<wsdl:part element="tns:downloadDeltaCRLResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="revokeCertResponse">
<wsdl:part element="tns:revokeCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertBySerialNumber">
<wsdl:part element="tns:queryCertBySerialNumber" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="doScript">
<wsdl:part element="tns:doScript" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="pickupCertResponse">
<wsdl:part element="tns:pickupCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCertResponse">
<wsdl:part element="tns:enrollCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="unsuspendCertResponse">
<wsdl:part element="tns:unsuspendCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId2Response">
<wsdl:part element="tns:queryCertByCertId2Response" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCert">
<wsdl:part element="tns:enrollCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCertAAResponse">
<wsdl:part element="tns:enrollCertAAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId2">
<wsdl:part element="tns:queryCertByCertId2" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCertChainByAccountResponse">
<wsdl:part element="tns:getCertChainByAccountResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCAResponse">
<wsdl:part element="tns:downloadCAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCA">
<wsdl:part element="tns:downloadCA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCerts">
<wsdl:part element="tns:queryCerts" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId">
<wsdl:part element="tns:queryCertByCertId" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="synchroTemplate">
<wsdl:part element="tns:synchroTemplate" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="revokeCert">
<wsdl:part element="tns:revokeCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="synchroTemplateResponse">
<wsdl:part element="tns:synchroTemplateResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertResponse">
<wsdl:part element="tns:renewCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertAA">
<wsdl:part element="tns:renewCertAA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="unsuspendCert">
<wsdl:part element="tns:unsuspendCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="pickupCert">
<wsdl:part element="tns:pickupCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="syncAccountInfoResponse">
<wsdl:part element="tns:syncAccountInfoResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="suspendCert">
<wsdl:part element="tns:suspendCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCert">
<wsdl:part element="tns:renewCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCRL">
<wsdl:part element="tns:downloadCRL" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertIdResponse">
<wsdl:part element="tns:queryCertByCertIdResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="UserAPIServicePortType">
<wsdl:operation name="queryCertByCertId">
<wsdl:input message="tns:queryCertByCertId" name="queryCertByCertId">
</wsdl:input>
<wsdl:output message="tns:queryCertByCertIdResponse" name="queryCertByCertIdResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="unsuspendCert">
<wsdl:input message="tns:unsuspendCert" name="unsuspendCert">
</wsdl:input>
<wsdl:output message="tns:unsuspendCertResponse" name="unsuspendCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCerts">
<wsdl:input message="tns:queryCerts" name="queryCerts">
</wsdl:input>
<wsdl:output message="tns:queryCertsResponse" name="queryCertsResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadDeltaCRL">
<wsdl:input message="tns:downloadDeltaCRL" name="downloadDeltaCRL">
</wsdl:input>
<wsdl:output message="tns:downloadDeltaCRLResponse" name="downloadDeltaCRLResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getCertChainByAccount">
<wsdl:input message="tns:getCertChainByAccount" name="getCertChainByAccount">
</wsdl:input>
<wsdl:output message="tns:getCertChainByAccountResponse" name="getCertChainByAccountResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="downloadCRL">
<wsdl:input message="tns:downloadCRL" name="downloadCRL">
</wsdl:input>
<wsdl:output message="tns:downloadCRLResponse" name="downloadCRLResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="enrollCert">
<wsdl:input message="tns:enrollCert" name="enrollCert">
</wsdl:input>
<wsdl:output message="tns:enrollCertResponse" name="enrollCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="syncAccountInfo">
<wsdl:input message="tns:syncAccountInfo" name="syncAccountInfo">
</wsdl:input>
<wsdl:output message="tns:syncAccountInfoResponse" name="syncAccountInfoResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="renewCertAA">
<wsdl:input message="tns:renewCertAA" name="renewCertAA">
</wsdl:input>
<wsdl:output message="tns:renewCertAAResponse" name="renewCertAAResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadCA">
<wsdl:input message="tns:downloadCA" name="downloadCA">
</wsdl:input>
<wsdl:output message="tns:downloadCAResponse" name="downloadCAResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="doScript">
<wsdl:input message="tns:doScript" name="doScript">
</wsdl:input>
<wsdl:output message="tns:doScriptResponse" name="doScriptResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="synchroTemplate">
<wsdl:input message="tns:synchroTemplate" name="synchroTemplate">
</wsdl:input>
curl: (18) transfer closed with outstanding read data remaining
<wsdl:output message="tns:synchroTemp

from tengine.

jack-yli avatar jack-yli commented on June 18, 2024

The data returned by curl normally

wsdl:types
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://service.ra.tca.topca.cn/" xmlns:tns="http://service.ra.tca.topca.cn/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="queryCertResult">
xs:sequence
<xs:element name="totalSize" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="certInfos" nillable="true" type="tns:certInfo"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="userInfos" nillable="true" type="tns:userInfo"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="certInfo">
xs:sequence
<xs:element minOccurs="0" name="certStatus" type="xs:string"/>
<xs:element minOccurs="0" name="certReqDate" type="xs:string"/>
<xs:element minOccurs="0" name="certReqTransid" type="xs:string"/>
<xs:element minOccurs="0" name="certReqNonce" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufType" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certReqComment" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRejectDate" type="xs:string"/>
<xs:element minOccurs="0" name="certSignDate" type="xs:string"/>
<xs:element minOccurs="0" name="certSerialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="certNotBefore" type="xs:string"/>
<xs:element minOccurs="0" name="certNotAfter" type="xs:string"/>
<xs:element minOccurs="0" name="certIssuerHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certIssuerDn" type="xs:string"/>
<xs:element minOccurs="0" name="certSubjectHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certSubjectDn" type="xs:string"/>
<xs:element minOccurs="0" name="certSuspendDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeDate" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeReason" type="xs:string"/>
<xs:element minOccurs="0" name="certRenewalDate" type="xs:string"/>
<xs:element name="certRenewalPrevId" type="xs:int"/>
<xs:element name="certRenewalNextId" type="xs:int"/>
<xs:element name="certReqOverrideValidity" type="xs:int"/>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certPin" type="xs:string"/>
<xs:element minOccurs="0" name="certType" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq1" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq2" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcReq3" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep1" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep2" type="xs:string"/>
<xs:element minOccurs="0" name="certKmcRep3" type="xs:string"/>
<xs:element minOccurs="0" name="certDeliverMode" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveAdmin1" type="xs:string"/>
<xs:element minOccurs="0" name="certApproveAdmin2" type="xs:string"/>
<xs:element minOccurs="0" name="certRenewemailDeliver" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBufTypeKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufP7Kmc" type="xs:string"/>
<xs:element minOccurs="0" name="certSignBufP7" type="xs:string"/>
<xs:element minOccurs="0" name="certSerialnumberKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certTypeKmc" type="xs:string"/>
<xs:element minOccurs="0" name="certReqPublickey" type="xs:string"/>
<xs:element minOccurs="0" name="certReqPublickeyHashMd5" type="xs:string"/>
<xs:element minOccurs="0" name="certIdRandom" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="userInfo">
xs:sequence
<xs:element name="accountId" type="xs:int"/>
<xs:element minOccurs="0" name="userName" type="xs:string"/>
<xs:element minOccurs="0" name="userSurname" type="xs:string"/>
<xs:element minOccurs="0" name="userSerialnumber" type="xs:string"/>
<xs:element minOccurs="0" name="userEmail" type="xs:string"/>
<xs:element minOccurs="0" name="userOrganization" type="xs:string"/>
<xs:element minOccurs="0" name="userOrgunit" type="xs:string"/>
<xs:element minOccurs="0" name="userCountry" type="xs:string"/>
<xs:element minOccurs="0" name="userState" type="xs:string"/>
<xs:element minOccurs="0" name="userLocality" type="xs:string"/>
<xs:element minOccurs="0" name="userStreet" type="xs:string"/>
<xs:element minOccurs="0" name="userDns" type="xs:string"/>
<xs:element minOccurs="0" name="userIp" type="xs:string"/>
<xs:element minOccurs="0" name="userTitle" type="xs:string"/>
<xs:element minOccurs="0" name="userDescription" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField1" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField2" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField3" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField4" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField5" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField6" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField7" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField8" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField9" type="xs:string"/>
<xs:element minOccurs="0" name="userAdditionalField10" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountInfo">
xs:sequence
<xs:element minOccurs="0" name="parentHash" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="accountConfig" type="tns:accountConfigResult"/>
<xs:element minOccurs="0" name="accountOrganization" type="xs:string"/>
<xs:element minOccurs="0" name="accountOrgunit" type="xs:string"/>
<xs:element minOccurs="0" name="accountEmail" type="xs:string"/>
<xs:element minOccurs="0" name="accountStatus" type="xs:string"/>
<xs:element name="accountOrder" type="xs:int"/>
<xs:element name="accountQuantity" type="xs:int"/>
<xs:element minOccurs="0" name="accountServiceEndDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountEnrollDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountApproveDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountRejectDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountSuspendDate" type="xs:string"/>
<xs:element minOccurs="0" name="accountCertDeliver" type="xs:string"/>
<xs:element minOccurs="0" name="accountAutoDeliver" type="xs:string"/>
<xs:element name="accountCertOrder" type="xs:int"/>
<xs:element name="accountCertQuantity" type="xs:int"/>
<xs:element name="accountOcspOrder" type="xs:int"/>
<xs:element name="accountOcspQuantity" type="xs:int"/>
<xs:element name="accountMinAdmin" type="xs:int"/>
<xs:element minOccurs="0" name="accountType" type="xs:string"/>
<xs:element name="accountRenewDay" type="xs:int"/>
<xs:element minOccurs="0" name="accountServiceURL" type="xs:string"/>
<xs:element name="accountChoose" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="accountConfigResult">
xs:sequence
<xs:element minOccurs="0" name="certTemplate" type="xs:string"/>
<xs:element minOccurs="0" name="serviceUrl" type="xs:string"/>
<xs:element minOccurs="0" name="algorithm" type="xs:string"/>
<xs:element minOccurs="0" name="isDoubleCert" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="RaServiceUnavailable" type="tns:RaServiceUnavailable"/>
<xs:complexType name="RaServiceUnavailable">
xs:sequence
<xs:element name="errorCode_" nillable="true" type="xs:int"/>
<xs:element name="message_" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertId" type="tns:queryCertByCertId"/>
<xs:complexType name="queryCertByCertId">
xs:sequence
<xs:element name="certId" type="xs:int"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertIdResponse" type="tns:queryCertByCertIdResponse"/>
<xs:complexType name="queryCertByCertIdResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="unsuspendCert" type="tns:unsuspendCert"/>
<xs:complexType name="unsuspendCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="unsuspendCertResponse" type="tns:unsuspendCertResponse"/>
<xs:complexType name="unsuspendCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="queryCerts" type="tns:queryCerts"/>
<xs:complexType name="queryCerts">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certInfo" type="tns:certInfo"/>
<xs:element name="pageIndex" type="xs:int"/>
<xs:element name="pageSize" type="xs:int"/>
<xs:element minOccurs="0" name="sqlTemplateFileName" type="xs:string"/>
<xs:element minOccurs="0" name="nextResultTag" type="xs:string"/>
<xs:element minOccurs="0" name="totalTag" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertsResponse" type="tns:queryCertsResponse"/>
<xs:complexType name="queryCertsResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadDeltaCRL" type="tns:downloadDeltaCRL"/>
<xs:complexType name="downloadDeltaCRL">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadDeltaCRLResponse" type="tns:downloadDeltaCRLResponse"/>
<xs:complexType name="downloadDeltaCRLResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getCertChainByAccount" type="tns:getCertChainByAccount"/>
<xs:complexType name="getCertChainByAccount">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getCertChainByAccountResponse" type="tns:getCertChainByAccountResponse"/>
<xs:complexType name="getCertChainByAccountResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCRL" type="tns:downloadCRL"/>
<xs:complexType name="downloadCRL">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCRLResponse" type="tns:downloadCRLResponse"/>
<xs:complexType name="downloadCRLResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCert" type="tns:enrollCert"/>
<xs:complexType name="enrollCert">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCertResponse" type="tns:enrollCertResponse"/>
<xs:complexType name="enrollCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="syncAccountInfo" type="tns:syncAccountInfo"/>
<xs:complexType name="syncAccountInfo">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="syncAccountInfoResponse" type="tns:syncAccountInfoResponse"/>
<xs:complexType name="syncAccountInfoResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:accountInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertAA" type="tns:renewCertAA"/>
<xs:complexType name="renewCertAA">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="origin" type="tns:certInfo"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="aaCheckPoint" type="xs:string"/>
<xs:element minOccurs="0" name="passCode" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertAAResponse" type="tns:renewCertAAResponse"/>
<xs:complexType name="renewCertAAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCA" type="tns:downloadCA"/>
<xs:complexType name="downloadCA">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="downloadCAResponse" type="tns:downloadCAResponse"/>
<xs:complexType name="downloadCAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="doScript" type="tns:doScript"/>
<xs:complexType name="doScript">
xs:sequence
<xs:element minOccurs="0" name="scriptName" type="xs:string"/>
<xs:element minOccurs="0" name="jsonMap" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="doScriptResponse" type="tns:doScriptResponse"/>
<xs:complexType name="doScriptResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="synchroTemplate" type="tns:synchroTemplate"/>
<xs:complexType name="synchroTemplate">
xs:sequence
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="synchroTemplateResponse" type="tns:synchroTemplateResponse"/>
<xs:complexType name="synchroTemplateResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:accountConfigResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertBySerialNumber" type="tns:queryCertBySerialNumber"/>
<xs:complexType name="queryCertBySerialNumber">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertBySerialNumberResponse" type="tns:queryCertBySerialNumberResponse"/>
<xs:complexType name="queryCertBySerialNumberResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="pickupCert" type="tns:pickupCert"/>
<xs:complexType name="pickupCert">
xs:sequence
<xs:element minOccurs="0" name="certPin" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="pickupCertResponse" type="tns:pickupCertResponse"/>
<xs:complexType name="pickupCertResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
<xs:element name="revokeCert" type="tns:revokeCert"/>
<xs:complexType name="revokeCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="certReqChallenge" type="xs:string"/>
<xs:element minOccurs="0" name="certRevokeReason" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="revokeCertResponse" type="tns:revokeCertResponse"/>
<xs:complexType name="revokeCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="renewCert" type="tns:renewCert"/>
<xs:complexType name="renewCert">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="origin" type="tns:certInfo"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="renewCertResponse" type="tns:renewCertResponse"/>
<xs:complexType name="renewCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="queryCertByCertId2" type="tns:queryCertByCertId2"/>
<xs:complexType name="queryCertByCertId2">
xs:sequence
<xs:element name="certId" type="xs:long"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="queryCertByCertId2Response" type="tns:queryCertByCertId2Response"/>
<xs:complexType name="queryCertByCertId2Response">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:queryCertResult"/>
</xs:sequence>
</xs:complexType>
<xs:element name="suspendCert" type="tns:suspendCert"/>
<xs:complexType name="suspendCert">
xs:sequence
<xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="suspendCertResponse" type="tns:suspendCertResponse"/>
<xs:complexType name="suspendCertResponse">
xs:sequence/
</xs:complexType>
<xs:element name="enrollCertAA" type="tns:enrollCertAA"/>
<xs:complexType name="enrollCertAA">
xs:sequence
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
<xs:element minOccurs="0" name="certReqBuf" type="xs:string"/>
<xs:element minOccurs="0" name="accountHash" type="xs:string"/>
<xs:element minOccurs="0" name="aaCheckPoint" type="xs:string"/>
<xs:element minOccurs="0" name="passCode" type="xs:string"/>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollCertAAResponse" type="tns:enrollCertAAResponse"/>
<xs:complexType name="enrollCertAAResponse">
xs:sequence
<xs:element minOccurs="0" name="return" type="tns:certInfo"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="enrollCertAA">
<wsdl:part element="tns:enrollCertAA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertsResponse">
<wsdl:part element="tns:queryCertsResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCertChainByAccount">
<wsdl:part element="tns:getCertChainByAccount" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="doScriptResponse">
<wsdl:part element="tns:doScriptResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertAAResponse">
<wsdl:part element="tns:renewCertAAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadDeltaCRL">
<wsdl:part element="tns:downloadDeltaCRL" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="syncAccountInfo">
<wsdl:part element="tns:syncAccountInfo" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertBySerialNumberResponse">
<wsdl:part element="tns:queryCertBySerialNumberResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCRLResponse">
<wsdl:part element="tns:downloadCRLResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="RaServiceUnavailable">
<wsdl:part element="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:part>
</wsdl:message>
<wsdl:message name="suspendCertResponse">
<wsdl:part element="tns:suspendCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadDeltaCRLResponse">
<wsdl:part element="tns:downloadDeltaCRLResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="revokeCertResponse">
<wsdl:part element="tns:revokeCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertBySerialNumber">
<wsdl:part element="tns:queryCertBySerialNumber" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="doScript">
<wsdl:part element="tns:doScript" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="pickupCertResponse">
<wsdl:part element="tns:pickupCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCertResponse">
<wsdl:part element="tns:enrollCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="unsuspendCertResponse">
<wsdl:part element="tns:unsuspendCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId2Response">
<wsdl:part element="tns:queryCertByCertId2Response" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCert">
<wsdl:part element="tns:enrollCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="enrollCertAAResponse">
<wsdl:part element="tns:enrollCertAAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId2">
<wsdl:part element="tns:queryCertByCertId2" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCertChainByAccountResponse">
<wsdl:part element="tns:getCertChainByAccountResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCAResponse">
<wsdl:part element="tns:downloadCAResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCA">
<wsdl:part element="tns:downloadCA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCerts">
<wsdl:part element="tns:queryCerts" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertId">
<wsdl:part element="tns:queryCertByCertId" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="synchroTemplate">
<wsdl:part element="tns:synchroTemplate" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="revokeCert">
<wsdl:part element="tns:revokeCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="synchroTemplateResponse">
<wsdl:part element="tns:synchroTemplateResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertResponse">
<wsdl:part element="tns:renewCertResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCertAA">
<wsdl:part element="tns:renewCertAA" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="unsuspendCert">
<wsdl:part element="tns:unsuspendCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="pickupCert">
<wsdl:part element="tns:pickupCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="syncAccountInfoResponse">
<wsdl:part element="tns:syncAccountInfoResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="suspendCert">
<wsdl:part element="tns:suspendCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="renewCert">
<wsdl:part element="tns:renewCert" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="downloadCRL">
<wsdl:part element="tns:downloadCRL" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="queryCertByCertIdResponse">
<wsdl:part element="tns:queryCertByCertIdResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="UserAPIServicePortType">
<wsdl:operation name="queryCertByCertId">
<wsdl:input message="tns:queryCertByCertId" name="queryCertByCertId">
</wsdl:input>
<wsdl:output message="tns:queryCertByCertIdResponse" name="queryCertByCertIdResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="unsuspendCert">
<wsdl:input message="tns:unsuspendCert" name="unsuspendCert">
</wsdl:input>
<wsdl:output message="tns:unsuspendCertResponse" name="unsuspendCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCerts">
<wsdl:input message="tns:queryCerts" name="queryCerts">
</wsdl:input>
<wsdl:output message="tns:queryCertsResponse" name="queryCertsResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadDeltaCRL">
<wsdl:input message="tns:downloadDeltaCRL" name="downloadDeltaCRL">
</wsdl:input>
<wsdl:output message="tns:downloadDeltaCRLResponse" name="downloadDeltaCRLResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getCertChainByAccount">
<wsdl:input message="tns:getCertChainByAccount" name="getCertChainByAccount">
</wsdl:input>
<wsdl:output message="tns:getCertChainByAccountResponse" name="getCertChainByAccountResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="downloadCRL">
<wsdl:input message="tns:downloadCRL" name="downloadCRL">
</wsdl:input>
<wsdl:output message="tns:downloadCRLResponse" name="downloadCRLResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="enrollCert">
<wsdl:input message="tns:enrollCert" name="enrollCert">
</wsdl:input>
<wsdl:output message="tns:enrollCertResponse" name="enrollCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="syncAccountInfo">
<wsdl:input message="tns:syncAccountInfo" name="syncAccountInfo">
</wsdl:input>
<wsdl:output message="tns:syncAccountInfoResponse" name="syncAccountInfoResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="renewCertAA">
<wsdl:input message="tns:renewCertAA" name="renewCertAA">
</wsdl:input>
<wsdl:output message="tns:renewCertAAResponse" name="renewCertAAResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadCA">
<wsdl:input message="tns:downloadCA" name="downloadCA">
</wsdl:input>
<wsdl:output message="tns:downloadCAResponse" name="downloadCAResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="doScript">
<wsdl:input message="tns:doScript" name="doScript">
</wsdl:input>
<wsdl:output message="tns:doScriptResponse" name="doScriptResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="synchroTemplate">
<wsdl:input message="tns:synchroTemplate" name="synchroTemplate">
</wsdl:input>
<wsdl:output message="tns:synchroTemplateResponse" name="synchroTemplateResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCertBySerialNumber">
<wsdl:input message="tns:queryCertBySerialNumber" name="queryCertBySerialNumber">
</wsdl:input>
<wsdl:output message="tns:queryCertBySerialNumberResponse" name="queryCertBySerialNumberResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="pickupCert">
<wsdl:input message="tns:pickupCert" name="pickupCert">
</wsdl:input>
<wsdl:output message="tns:pickupCertResponse" name="pickupCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="revokeCert">
<wsdl:input message="tns:revokeCert" name="revokeCert">
</wsdl:input>
<wsdl:output message="tns:revokeCertResponse" name="revokeCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="renewCert">
<wsdl:input message="tns:renewCert" name="renewCert">
</wsdl:input>
<wsdl:output message="tns:renewCertResponse" name="renewCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCertByCertId2">
<wsdl:input message="tns:queryCertByCertId2" name="queryCertByCertId2">
</wsdl:input>
<wsdl:output message="tns:queryCertByCertId2Response" name="queryCertByCertId2Response">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="suspendCert">
<wsdl:input message="tns:suspendCert" name="suspendCert">
</wsdl:input>
<wsdl:output message="tns:suspendCertResponse" name="suspendCertResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="enrollCertAA">
<wsdl:input message="tns:enrollCertAA" name="enrollCertAA">
</wsdl:input>
<wsdl:output message="tns:enrollCertAAResponse" name="enrollCertAAResponse">
</wsdl:output>
<wsdl:fault message="tns:RaServiceUnavailable" name="RaServiceUnavailable">
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="UserAPIServiceSoapBinding" type="tns:UserAPIServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="queryCertByCertId">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="queryCertByCertId">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="queryCertByCertIdResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="unsuspendCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="unsuspendCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="unsuspendCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCerts">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="queryCerts">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="queryCertsResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadDeltaCRL">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="downloadDeltaCRL">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="downloadDeltaCRLResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getCertChainByAccount">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getCertChainByAccount">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCertChainByAccountResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="downloadCRL">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="downloadCRL">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="downloadCRLResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="enrollCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="enrollCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="enrollCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="syncAccountInfo">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="syncAccountInfo">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="syncAccountInfoResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="renewCertAA">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="renewCertAA">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="renewCertAAResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="downloadCA">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="downloadCA">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="downloadCAResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="doScript">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="doScript">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="doScriptResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="pickupCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="pickupCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="pickupCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCertBySerialNumber">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="queryCertBySerialNumber">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="queryCertBySerialNumberResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="synchroTemplate">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="synchroTemplate">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="synchroTemplateResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="queryCertByCertId2">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="queryCertByCertId2">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="queryCertByCertId2Response">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="renewCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="renewCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="renewCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="revokeCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="revokeCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="revokeCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="suspendCert">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="suspendCert">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="suspendCertResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="enrollCertAA">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="enrollCertAA">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="enrollCertAAResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="RaServiceUnavailable">
<soap:fault name="RaServiceUnavailable" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="UserAPIService">
<wsdl:port binding="tns:UserAPIServiceSoapBinding" name="UserAPIServicePort">
<soap:address location="http://sm2ssl-loadtest.itrus.com.cn/services/userAPI"/>
</wsdl:port>
</wsdl:service>

from tengine.

jack-yli avatar jack-yli commented on June 18, 2024

tengine access_log & dubug error_log
error

2023/08/22 09:25:33 [notice] 11298#0: 371440 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:25:33 [notice] 11298#0: 371440 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:33 [notice] 11298#0: 371440 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:25:34 [info] 11298#0: 371440 client ..86.115 closed keepalive connection
2023/08/22 09:25:48 [notice] 11299#0: 371442 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:48 [notice] 11299#0: 371442 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:48 [notice] 11299#0: 371442 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:25:50 [error] 11299#0: 371442 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:25:50 [info] 11299#0: 371442 client ..86.115 closed keepalive connection
2023/08/22 09:25:52 [notice] 11294#0: 371445 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:52 [notice] 11294#0: 371445 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:25:52 [notice] 11294#0: 371445 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:54 [error] 11294#0: 371445 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:25:56 [error] 11294#0: 371445 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:25:56 [info] 11294#0: 371445 client ..86.115 closed keepalive connection
2023/08/22 09:25:58 [notice] 11301#0: 371448 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:25:58 [notice] 11301#0: 371448 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:25:58 [notice] 11301#0: 371448 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:26:00 [error] 11301#0: 371448 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:26:00 [info] 11301#0: 371448 client ..86.115 closed keepalive connection
2023/08/22 09:26:08 [notice] 11298#0: 371451 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:26:08 [notice] 11298#0: 371451 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:26:08 [notice] 11298#0: 371451 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:26:10 [error] 11298#0: 371451 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:26:10 [info] 11298#0: 371451 client ..86.115 closed keepalive connection
2023/08/22 09:27:35 [notice] 11300#0: 371454 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:35 [notice] 11300#0: 371454 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:35 [notice] 11300#0: 371454 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:37 [error] 11300#0: 371454 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:27:39 [error] 11300#0: 371454 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:27:39 [info] 11300#0: 371454 client ..86.115 closed keepalive connection
2023/08/22 09:27:40 [notice] 11298#0: 371457 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:40 [notice] 11298#0: 371457 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:40 [notice] 11298#0: 371457 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:41 [info] 11298#0: 371457 client ..86.115 closed keepalive connection
2023/08/22 09:27:42 [notice] 11301#0: 371459 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:42 [notice] 11301#0: 371459 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:42 [notice] 11301#0: 371459 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:43 [info] 11301#0: 371459 client ..86.115 closed keepalive connection
2023/08/22 09:27:45 [notice] 11298#0: 371461 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:45 [notice] 11298#0: 371461 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:45 [notice] 11298#0: 371461 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:47 [error] 11298#0: 371461 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:27:49 [info] 11298#0: 371461 client ..86.115 closed keepalive connection
2023/08/22 09:27:50 [notice] 11298#0: 371464 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:50 [notice] 11298#0: 371464 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:50 [notice] 11298#0: 371464 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:51 [info] 11298#0: 371464 client ..86.115 closed keepalive connection
2023/08/22 09:27:52 [notice] 11298#0: 371466 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:52 [notice] 11298#0: 371466 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:52 [notice] 11298#0: 371466 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:54 [error] 11298#0: 371466 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:27:56 [info] 11298#0: 371466 client ..86.115 closed keepalive connection
2023/08/22 09:27:57 [notice] 11298#0: 371469 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:57 [notice] 11298#0: 371469 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:57 [notice] 11298#0: 371469 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:57 [info] 11298#0: 371469 client ..86.115 closed keepalive connection
2023/08/22 09:27:59 [notice] 11298#0: 371471 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:27:59 [notice] 11298#0: 371471 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:27:59 [notice] 11298#0: 371471 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:01 [error] 11298#0: 371471 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:01 [info] 11298#0: 371471 client ..86.115 closed keepalive connection
2023/08/22 09:28:02 [notice] 11294#0: 371474 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:02 [notice] 11294#0: 371474 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:02 [notice] 11294#0: 371474 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:03 [info] 11294#0: 371474 client ..86.115 closed keepalive connection
2023/08/22 09:28:04 [info] 11298#0: 371476 client sent invalid method while reading client request line, client: 65.49.1.69, server: topra-demo.itrus.com.cn, request: "��� {� w��崡雅i2??�R�5��€?勩?衟衇搤?? �????????
2023/08/22 09:28:04 [notice] 11294#0: 371477 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:04 [notice] 11294#0: 371477 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:04 [notice] 11294#0: 371477 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:06 [info] 11294#0: 371477 client ..86.115 closed keepalive connection
2023/08/22 09:28:11 [notice] 11298#0: 371479 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:11 [notice] 11298#0: 371479 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:11 [notice] 11298#0: 371479 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:11 [info] 11298#0: 371479 client ..86.115 closed keepalive connection
2023/08/22 09:28:15 [notice] 11298#0: 371481 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:15 [notice] 11298#0: 371481 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:15 [notice] 11298#0: 371481 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:17 [error] 11298#0: 371481 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:19 [error] 11298#0: 371481 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:19 [info] 11298#0: 371481 client ..86.115 closed keepalive connection
2023/08/22 09:28:21 [notice] 11298#0: 371484 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:21 [notice] 11298#0: 371484 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:21 [notice] 11298#0: 371484 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:24 [info] 11298#0: 371484 client ..86.115 closed keepalive connection
2023/08/22 09:28:25 [notice] 11298#0: 371486 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:25 [notice] 11298#0: 371486 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:25 [notice] 11298#0: 371486 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:26 [info] 11298#0: 371486 client ..86.115 closed keepalive connection
2023/08/22 09:28:30 [notice] 11298#0: 371488 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:30 [notice] 11298#0: 371488 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:30 [notice] 11298#0: 371488 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:32 [error] 11298#0: 371488 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:35 [info] 11298#0: 371488 client ..86.115 closed keepalive connection
2023/08/22 09:28:37 [notice] 11299#0: 371491 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:37 [notice] 11299#0: 371491 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:37 [notice] 11299#0: 371491 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:40 [error] 11299#0: 371491 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:42 [error] 11299#0: 371491 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:42 [info] 11299#0: 371491 client ..86.115 closed keepalive connection
2023/08/22 09:28:43 [notice] 11298#0: 371494 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:43 [notice] 11298#0: 371494 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:43 [notice] 11298#0: 371494 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:44 [info] 11298#0: 371494 client ..86.115 closed keepalive connection
2023/08/22 09:28:46 [notice] 11298#0: 371496 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:46 [notice] 11298#0: 371496 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:46 [notice] 11298#0: 371496 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:48 [error] 11298#0: 371496 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:50 [error] 11298#0: 371496 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:50 [info] 11298#0: 371496 client ..86.115 closed keepalive connection
2023/08/22 09:28:51 [notice] 11299#0: 371499 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:51 [notice] 11299#0: 371499 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:51 [notice] 11299#0: 371499 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:54 [error] 11299#0: 371499 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:28:54 [info] 11299#0: 371499 client ..86.115 closed keepalive connection
2023/08/22 09:28:56 [notice] 11299#0: 371501 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:56 [notice] 11299#0: 371501 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:28:56 [notice] 11299#0: 371501 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:28:58 [error] 11299#0: 371501 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:01 [error] 11299#0: 371501 upstream timed out (110: Connection timed out) while reading upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:02 [notice] 11299#0: 371504 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:02 [notice] 11299#0: 371504 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:02 [notice] 11299#0: 371504 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:03 [info] 11299#0: 371504 client ..86.115 closed keepalive connection
2023/08/22 09:29:05 [notice] 11298#0: 371506 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:05 [notice] 11298#0: 371506 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:05 [notice] 11298#0: 371506 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:07 [info] 11298#0: 371506 client ..86.115 closed keepalive connection
2023/08/22 09:29:10 [notice] 11300#0: 371508 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:10 [notice] 11300#0: 371508 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:10 [notice] 11300#0: 371508 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:10 [info] 11300#0: 371508 client ..86.115 closed keepalive connection
2023/08/22 09:29:13 [notice] 11298#0: 371510 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:13 [notice] 11298#0: 371510 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:13 [notice] 11298#0: 371510 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:15 [error] 11298#0: 371510 upstream timed out (110: Connection timed out) while reading response header from upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:17 [error] 11298#0: 371510 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:17 [info] 11298#0: 371510 client ..86.115 closed keepalive connection
2023/08/22 09:29:19 [notice] 11298#0: 371513 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:19 [notice] 11298#0: 371513 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:29:19 [notice] 11298#0: 371513 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: "..54.34:9999"
2023/08/22 09:29:21 [error] 11298#0: 371513 upstream timed out (110: Connection timed out) while connecting to upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://.
.173.128:81/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:24 [error] 11298#0: 371513 upstream timed out (110: Connection timed out) while reading upstream, client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", upstream: "http://..173.128:80/services/userAPI?wsdl", host: "..54.34:9999"
2023/08/22 09:29:54 [info] 11299#0: 371516 client sent invalid method while reading client request line, client: 47.92.71.160, server: newca-demo.itrus.com.cn, request: "������ ?�"�擗钪娞旅j敒Q杦T?`靠XD鹺I?�, V???? ???⒗$??? k j g @?????????
2023/08/22 09:29:54 [info] 11300#0: 371517 client sent invalid method while reading client request line, client: 47.92.73.109, server: testra-demo.itrus.com.cn, request: "������ ?�9 ??�WN緃×!��Y兿x?奠?
2023/08/22 09:33:43 [notice] 11298#0: 371518 "^/enterprise" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:33:43 [notice] 11298#0: 371518 "^/enterprise/enrollAdminCert" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".
.54.34:9999"
2023/08/22 09:33:43 [notice] 11298#0: 371518 "^/$" does not match "/services/userAPI", client: ..86.115, server: testra-demo.itrus.com.cn, request: "GET /services/userAPI?wsdl HTTP/1.1", host: ".*.54.34:9999"
2023/08/22 09:33:43 [info] 11298#0: *371518 client ..86.115 closed keepalive connection

from tengine.

jack-yli avatar jack-yli commented on June 18, 2024

The current problem seems to be that Tengine (nginx) is processing the data returned by Upstream, HTTP_ Due to network reasons, the body data was not fully received, but the status record value still returned 200 instead of 5xx. It is not confirmed whether it is related to the soap protocol used by the application, and similar situations have not been encountered in other HTTP requests.

from tengine.

lianglli avatar lianglli commented on June 18, 2024

What is the proxy buffer setting for your tengine specifically?

from tengine.

sunshuxin avatar sunshuxin commented on June 18, 2024

Hello, the parameter settings in the configuration file are shown in the screenshot. Please check if there are any setting parameters you described, where:
client_header_buffer_size 2k
large_client_header_buffers 4k
client_max_body_size 8m
image
image
image

from tengine.

lianglli avatar lianglli commented on June 18, 2024

Check your 'proxy_buffering' on nginx1 and CA-nginx

from tengine.

sunshuxin avatar sunshuxin commented on June 18, 2024

Hello, proxy is not set in nginx1_ Buffering parameter settings, CA nginx, please wait here to check the configuration file
As shown in the screenshot above, there is no defined proxy for nginx1 configuration_ Buffering parameter

from tengine.

sunshuxin avatar sunshuxin commented on June 18, 2024

Hello, We have checked that there is no definition of proxy in the CA nginx configuration file_ Parameter settings for buffering.

from tengine.

sunshuxin avatar sunshuxin commented on June 18, 2024

Hello, are there any other directions for investigation or possible solutions to avoid? Looking forward to your reply

from tengine.

drawing avatar drawing commented on June 18, 2024

I reproduce this scenario with a small configuration:

worker_processes  1;
error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

stream {
    server {
        listen 2888;
        content_by_lua_block {
            ngx.say("HTTP/1.1 200 OK\r\nServer: Tengine\r\nContent-Length: 7777\r\nConnection: keep-alive\r\nkeep-alive: 60\r\n\r\n");
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr|$status|$remote_user|$time_local|$request|$status|$body_bytes_sent|$upstream_addr|$upstream_status|';

    access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    proxy_http_version 1.1;

    proxy_intercept_errors on;
    proxy_next_upstream error http_500 http_502 http_503 http_504;

    server {
        listen       8080;

        server_name  localhost;
        proxy_buffering on;
        location / {
            proxy_pass http://127.0.0.1:2888;
        }
    }
}

When the curl -v 127.0.0.1:8080 command is executed, the log status is 200 but the curl prompt fails.

The reason is that when the upstream gets the header, it is sent to the client immediately, and the status is set to 200 at the same time. When the reading of the body fails, call ngx_http_upstream_finalize_request to pass in a 502 error, but the header has been sent, the status will not be set, only data flush will be performed.

    if (!u->header_sent
        || rc == NGX_HTTP_REQUEST_TIME_OUT
        || rc == NGX_HTTP_CLIENT_CLOSED_REQUEST)
    {
        ngx_http_finalize_request(r, rc);
        return;
    }

    flush = 0;

    if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {
        rc = NGX_ERROR;
        flush = 1;
    }

    ...

    if (rc == 0) {

        if (ngx_http_upstream_process_trailers(r, u) != NGX_OK) {
            ngx_http_finalize_request(r, NGX_ERROR);
            return;
        }

        rc = ngx_http_send_special(r, NGX_HTTP_LAST);

    } else if (flush) {
        r->keepalive = 0;
        rc = ngx_http_send_special(r, NGX_HTTP_FLUSH);
    }

I tested nginx is the same behavior. And I didn't find a way to set the status without modifying the code.

from tengine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.