[英]WebSphere 5.1 to 6.1 Migration Error
我正在使用Axis 1 Web服务的Java 1.4 Web应用程序上工作。 该应用程序调用由第三方合作伙伴开发和托管的Web服务。 我们的生产环境正在运行WebSphere 5.1,应用程序运行得很好。 出于安全原因,我们需要将服务器从5.1迁移到6.1。 我们首先将开发环境升级到6.1。 在我们的开发环境中,除了WebSphere迁移之外,我们决定将应用程序更新为Java 1.5。 开发人员上的应用程序运行正常。 除了一个之外,所有的Web服务调用都可以正确执行。 这个特定的调用总是返回以下错误。
使用编码样式“ http://schemas.xmlsoap.org/soap/encoding/”未找到“ http://schemas.xmlsoap.org/soap/encoding/:string”的映射
有谁知道为什么除了这个之外的所有WS都能正常工作? 我没有更改代码库,只是我使用的是哪个版本的编译器。 由于它可以在prod上运行,所以我不确定该怎么做才能搞乱开发人员。
此时,我的Google-Fu使我失败了。 您可以提供的任何信息都非常感谢!
WSDL
<?xml version = '1.0' encoding = 'UTF-8'?>
<!--Generated by the Oracle JDeveloper 10g Web Services WSDL Generator-->
<!--Date Created: Thu Jul 08 13:27:58 PDT 2004-->
<definitions
name="CSIWebService"
targetNamespace="http://mil/dcma/csi/ws/CSIWebService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://mil/dcma/csi/ws/CSIWebService.wsdl"
xmlns:ns1="http://mil.dcma.csi.ws/ICSIWebService.xsd">
<types>
<schema
targetNamespace="http://mil.dcma.csi.ws/ICSIWebService.xsd"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<complexType name="mil_dcma_csi_ws_WSCSIServiceResponse" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="results" type="ns1:ArrayOfmil_dcma_csi_ws_WSContract"/>
<element name="comments" type="ns1:mil_dcma_csi_ws_WSStatusCommentary"/>
</all>
</complexType>
<complexType name="mil_dcma_csi_ws_WSContract" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="cage" type="string"/>
<element name="dodaac" type="string"/>
<element name="latestModDate" type="string"/>
<element name="lineItemIds" type="ns1:ArrayOfString"/>
<element name="lineItems" type="ns1:ArrayOfmil_dcma_csi_ws_WSLineItem"/>
<element name="piinDodaac" type="string"/>
<element name="piinSerial" type="string"/>
<element name="piinType" type="string"/>
<element name="piinYear" type="string"/>
<element name="spiin" type="string"/>
</all>
</complexType>
<complexType name="ArrayOfString" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="mil_dcma_csi_ws_WSLineItem" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="fobSite" type="string"/>
<element name="inspectAcceptCode" type="string"/>
<element name="itemName" type="string"/>
<element name="lineItemId" type="string"/>
<element name="nsn" type="string"/>
<element name="partNumber" type="string"/>
<element name="piin" type="string"/>
<element name="quantityAccepted" type="int"/>
<element name="quantityShipped" type="int"/>
<element name="serviceCompletionDate" type="string"/>
<element name="serviceCompletionEstimatedFlag" type="string"/>
<element name="spiin" type="string"/>
<element name="spnRecipient" type="string"/>
<element name="totalUnits" type="int"/>
<element name="totalUnitsEstimatedFlag" type="string"/>
<element name="unitCost" type="double"/>
<element name="unitCostEstimatedFlag" type="string"/>
<element name="unitOfMeasure" type="string"/>
<element name="varianceOver" type="double"/>
<element name="varianceUnder" type="double"/>
<element name="schedules" type="ns1:ArrayOfmil_dcma_csi_ws_WSSchedule"/>
<element name="shipments" type="ns1:ArrayOfmil_dcma_csi_ws_WSShipment"/>
</all>
</complexType>
<complexType name="mil_dcma_csi_ws_WSSchedule" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="clin" type="string"/>
<element name="deliveryDate" type="string"/>
<element name="deliveryDateEstimatedFlag" type="string"/>
<element name="elin" type="string"/>
<element name="lineItemId" type="string"/>
<element name="markFor" type="string"/>
<element name="milStrip" type="string"/>
<element name="modNumber" type="string"/>
<element name="piin" type="string"/>
<element name="schedQuantityEstimatedFlag" type="string"/>
<element name="scheduledQuantity" type="int"/>
<element name="shipTo" type="string"/>
<element name="spiin" type="string"/>
</all>
</complexType>
<complexType name="ArrayOfmil_dcma_csi_ws_WSSchedule" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSSchedule[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="mil_dcma_csi_ws_WSShipment" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="acceptanceSite" type="string"/>
<element name="dateAccepted" type="string"/>
<element name="dateShipped" type="string"/>
<element name="fobSite" type="string"/>
<element name="lineItemId" type="string"/>
<element name="markFor" type="string"/>
<element name="milStrip" type="string"/>
<element name="piin" type="string"/>
<element name="pqaSite" type="string"/>
<element name="quantityAccepted" type="int"/>
<element name="quantityShipped" type="int"/>
<element name="shipmentNumber" type="string"/>
<element name="spiin" type="string"/>
<element name="unitOfMeasure" type="string"/>
</all>
</complexType>
<complexType name="ArrayOfmil_dcma_csi_ws_WSShipment" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSShipment[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfmil_dcma_csi_ws_WSLineItem" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSLineItem[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfmil_dcma_csi_ws_WSContract" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSContract[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="mil_dcma_csi_ws_WSStatusCommentary" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="comments" type="ns1:ArrayOfmil_dcma_csi_ws_WSStatusList"/>
<element name="statusTypes" type="ns1:ArrayOfString"/>
</all>
</complexType>
<complexType name="mil_dcma_csi_ws_WSStatusList" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
<all>
<element name="contents" type="ns1:ArrayOfString"/>
</all>
</complexType>
<complexType name="ArrayOfmil_dcma_csi_ws_WSStatusList" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSStatusList[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</types>
<message name="getContracts0Request">
<part name="cage" type="xsd:string"/>
<part name="piinDodaac" type="xsd:string"/>
<part name="piinYear" type="xsd:string"/>
<part name="piinType" type="xsd:string"/>
<part name="piinSerial" type="xsd:string"/>
<part name="spiin" type="xsd:string"/>
</message>
<message name="getContracts0Response">
<part name="return" type="ns1:mil_dcma_csi_ws_WSCSIServiceResponse"/>
</message>
<message name="getContractLineItems1Request">
<part name="piinDodaac" type="xsd:string"/>
<part name="piinYear" type="xsd:string"/>
<part name="piinType" type="xsd:string"/>
<part name="piinSerial" type="xsd:string"/>
<part name="spiin" type="xsd:string"/>
<part name="lineItemIds" type="ns1:ArrayOfString"/>
</message>
<message name="getContractLineItems1Response">
<part name="return" type="ns1:mil_dcma_csi_ws_WSCSIServiceResponse"/>
</message>
<portType name="CSIWebServicePortType">
<operation name="getContracts">
<input name="getContracts0Request" message="tns:getContracts0Request"/>
<output name="getContracts0Response" message="tns:getContracts0Response"/>
</operation>
<operation name="getContractLineItems">
<input name="getContractLineItems1Request" message="tns:getContractLineItems1Request"/>
<output name="getContractLineItems1Response" message="tns:getContractLineItems1Response"/>
</operation>
</portType>
<binding name="CSIWebServiceBinding" type="tns:CSIWebServicePortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getContracts">
<soap:operation soapAction="" style="rpc"/>
<input name="getContracts0Request">
<soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output name="getContracts0Response">
<soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="getContractLineItems">
<soap:operation soapAction="" style="rpc"/>
<input name="getContractLineItems1Request">
<soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output name="getContractLineItems1Response">
<soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="CSIWebService">
<documentation>
This class defines Web Service messages as local
methods. Each method is a valid Web Service messages, using
RPC-style. This design is appropriate for typical Web Service
implementation toolkits such as Axis.
</documentation>
<port name="CSIWebServicePort" binding="tns:CSIWebServiceBinding">
<soap:address location="http://hxacacarqw025:8888/CSI/CSIWebService"/>
</port>
</service>
</definitions>
WAS 6.1也具有axis1 jar的副本,因此您可以尝试使用此处提到的“ parent last”标志吗: http : //pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom .ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fcrun_classload.html
因此最终导致的问题是,WebSphere 5.1和6.1之间的SOAP客户端版本(Axis 1)略有不同。 运行Axis实用程序功能“ WSDL to JAVA”更新了我们应用程序中的类。 我们必须更改代码以指向这些重新生成的类并进行重新构建。 错误消失了。 我们所有的Web服务调用现在都可以正确执行。
感谢所有尝试提供帮助的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.