Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
1.2.1
-
None
-
None
-
Axis 1.2.1 and also latest build of 1.3 running under websphere on windows xp. JDK 1.3.
Description
Tthe problem still exists with multiple namespaces. For the following wsdl I get an incorrect response of:
<getCoverageTeamByEcidResponse xmlns="http://coverage.pw.services.crm.jpmorgan.com">
<getCoverageTeamByEcidReturn>
<coverageTeamInfoTO>
<coverageTeamInfoTO>
<cvrRoleTmrDs xsi:nil="true"/>
Notice the extra TO entry. It should look like:
<getCoverageTeamByEcidResponse xmlns="http://coverage.pw.services.crm.jpmorgan.com">
<getCoverageTeamByEcidReturn>
<coverageTeamInfoTO>
<item>
<cvrRoleTmrDs xsi:nil="true"/>
Here is the wsdl:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://contact.pw.services.crm.jpmorgan.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://contact.pw.services.crm.jpmorgan.com" xmlns:intf="http://contact.pw.services.crm.jpmorgan.com" xmlns:tns2="http://request.contact.pw.services.crm.jpmorgan.com" xmlns:tns3="http://headers.message.framework.core.crm.jpmorgan.com" xmlns:tns4="http://response.contact.pw.services.crm.jpmorgan.com" xmlns:tns5="http://to.pw.services.crm.jpmorgan.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Jul 26, 2005 (04:05:35 GMT+00:00)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://contact.pw.services.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://to.pw.services.crm.jpmorgan.com"/>
<import namespace="http://response.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://headers.message.framework.core.crm.jpmorgan.com"/>
<import namespace="http://request.contact.pw.services.crm.jpmorgan.com"/>
<element name="getContactByEcid">
<complexType>
<sequence>
<element name="request" type="tns2:GetContactByEcidRequest"/>
</sequence>
</complexType>
</element>
<complexType name="ArrayOf_tns3_SortDetail">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="tns3:SortDetail"/>
</sequence>
</complexType>
<element name="getContactByEcidResponse">
<complexType>
<sequence>
<element name="getContactByEcidReturn" type="tns4:GetContactByEcidResponse"/>
</sequence>
</complexType>
</element>
<complexType name="ArrayOf_tns3_ErrorIdentifier">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="tns3:ErrorIdentifier"/>
</sequence>
</complexType>
<complexType name="ArrayOf_tns5_ClientContactTO">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="tns5:ClientContactTO"/>
</sequence>
</complexType>
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://headers.message.framework.core.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://to.pw.services.crm.jpmorgan.com"/>
<import namespace="http://response.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://request.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://contact.pw.services.crm.jpmorgan.com"/>
<complexType name="SortDetail">
<sequence>
<element name="sortColumn" nillable="true" type="xsd:string"/>
<element name="sortOrder" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="PagingRequestDetail">
<sequence>
<element name="endRow" type="xsd:int"/>
<element name="maxRow" type="xsd:int"/>
<element name="sortDetail" nillable="true" type="impl:ArrayOf_tns3_SortDetail"/>
<element name="startRow" type="xsd:int"/>
</sequence>
</complexType>
<complexType name="RequestHeader">
<sequence>
<element name="applicationLineOfBusinessRoleIdentifier" nillable="true" type="xsd:string"/>
<element name="requestingAppID" nillable="true" type="xsd:string"/>
<element name="submitTime" nillable="true" type="xsd:string"/>
<element name="trackingID" nillable="true" type="xsd:string"/>
<element name="workerStandardIdentifier" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Request">
<sequence>
<element name="pagingRequestDetail" nillable="true" type="tns3:PagingRequestDetail"/>
<element name="requestHeader" nillable="true" type="tns3:RequestHeader"/>
<element name="scope" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="PagingResponseDetail">
<sequence>
<element name="rowReturned" type="xsd:int"/>
<element name="totalRowAvailable" type="xsd:int"/>
</sequence>
</complexType>
<complexType name="ErrorIdentifier">
<sequence>
<element name="key" nillable="true" type="xsd:string"/>
<element name="value" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ErrorDetail">
<sequence>
<element name="applicationErrorCode" nillable="true" type="xsd:string"/>
<element name="applicationErrorID" nillable="true" type="xsd:string"/>
<element name="applicationErrorMsg" nillable="true" type="xsd:string"/>
<element name="errorIdentifier" nillable="true" type="impl:ArrayOf_tns3_ErrorIdentifier"/>
<element name="systemErrorCode" nillable="true" type="xsd:string"/>
<element name="systemErrorMsg" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ResponseHeader">
<sequence>
<element name="errorDetail" nillable="true" type="tns3:ErrorDetail"/>
<element name="responseStatus" nillable="true" type="xsd:string"/>
<element name="submitTime" nillable="true" type="xsd:string"/>
<element name="successStatusCode" nillable="true" type="xsd:string"/>
<element name="trackingID" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Response">
<sequence>
<element name="pagingResponseDetail" nillable="true" type="tns3:PagingResponseDetail"/>
<element name="responseHeader" nillable="true" type="tns3:ResponseHeader"/>
</sequence>
</complexType>
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://request.contact.pw.services.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://to.pw.services.crm.jpmorgan.com"/>
<import namespace="http://response.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://headers.message.framework.core.crm.jpmorgan.com"/>
<import namespace="http://contact.pw.services.crm.jpmorgan.com"/>
<complexType name="GetContactByEcidRequest">
<complexContent>
<extension base="tns3:Request">
<sequence>
<element name="ecid" nillable="true" type="xsd:string"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://to.pw.services.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://response.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://headers.message.framework.core.crm.jpmorgan.com"/>
<import namespace="http://request.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://contact.pw.services.crm.jpmorgan.com"/>
<complexType name="ClientContactTO">
<sequence>
<element name="addressCity" nillable="true" type="xsd:string"/>
<element name="addressCode" nillable="true" type="xsd:string"/>
<element name="addressCountryCode" nillable="true" type="xsd:string"/>
<element name="addressId" nillable="true" type="xsd:string"/>
<element name="addressLine1" nillable="true" type="xsd:string"/>
<element name="addressLine2" nillable="true" type="xsd:string"/>
<element name="addressLine3" nillable="true" type="xsd:string"/>
<element name="addressPostalCode" nillable="true" type="xsd:string"/>
<element name="addressStateCode" nillable="true" type="xsd:string"/>
<element name="clientId" nillable="true" type="xsd:string"/>
<element name="commEmail" nillable="true" type="xsd:string"/>
<element name="commTypeCode" nillable="true" type="xsd:string"/>
<element name="commTypeId" nillable="true" type="xsd:string"/>
<element name="commWokePhone" nillable="true" type="xsd:string"/>
<element name="commWorkFax" nillable="true" type="xsd:string"/>
<element name="commWorkFaxExt" nillable="true" type="xsd:string"/>
<element name="commWorkPhoneExt" nillable="true" type="xsd:string"/>
<element name="contactDeleteInd" nillable="true" type="xsd:string"/>
<element name="contactFirstName" nillable="true" type="xsd:string"/>
<element name="contactId" nillable="true" type="xsd:string"/>
<element name="contactInactiveInd" nillable="true" type="xsd:string"/>
<element name="contactLastName" nillable="true" type="xsd:string"/>
<element name="contactMiddleName" nillable="true" type="xsd:string"/>
<element name="contactPrefixCode" nillable="true" type="xsd:string"/>
<element name="contactPrimaryInd" nillable="true" type="xsd:string"/>
<element name="contactSalutation" nillable="true" type="xsd:string"/>
<element name="contactSuffix" nillable="true" type="xsd:string"/>
<element name="contactTitle" nillable="true" type="xsd:string"/>
<element name="ecid" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://response.contact.pw.services.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://to.pw.services.crm.jpmorgan.com"/>
<import namespace="http://headers.message.framework.core.crm.jpmorgan.com"/>
<import namespace="http://request.contact.pw.services.crm.jpmorgan.com"/>
<import namespace="http://contact.pw.services.crm.jpmorgan.com"/>
<complexType name="GetContactByEcidResponse">
<complexContent>
<extension base="tns3:Response">
<sequence>
<element name="clientContactTO" nillable="true" type="impl:ArrayOf_tns5_ClientContactTO"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="getContactByEcidResponse">
<wsdl:part element="impl:getContactByEcidResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getContactByEcidRequest">
<wsdl:part element="impl:getContactByEcid" name="parameters"/>
</wsdl:message>
<wsdl:portType name="GetContactByEcid">
<wsdl:operation name="getContactByEcid">
<wsdl:input message="impl:getContactByEcidRequest" name="getContactByEcidRequest"/>
<wsdl:output message="impl:getContactByEcidResponse" name="getContactByEcidResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GetContactByEcidSoapBinding" type="impl:GetContactByEcid">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getContactByEcid">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getContactByEcidRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getContactByEcidResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GetContactByEcidService">
<wsdl:port binding="impl:GetContactByEcidSoapBinding" name="GetContactByEcid">
<wsdlsoap:address location="http://localhost:2000/PWServicesWEB/services/GetContactByEcid"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
----------------------------------------------------------------------------------------------------------
I can get a correct response if I remove all the extra namespaces and collapse my objects into a single namespace like this:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://coverage.pw.services.crm.jpmorgan.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://coverage.pw.services.crm.jpmorgan.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2.1
Built on Jun 15, 2005 (04:05:16 GMT+00:00)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://coverage.pw.services.crm.jpmorgan.com" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getCoverageTeamByEcid">
<complexType>
<sequence>
<element name="request" type="impl:GetCoverageTeamByEcidRequest"/>
</sequence>
</complexType>
</element>
<complexType name="ArrayOf_impl_SortDetail">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:SortDetail"/>
</sequence>
</complexType>
<element name="getCoverageTeamByEcidResponse">
<complexType>
<sequence>
<element name="getCoverageTeamByEcidReturn" type="impl:GetCoverageTeamByEcidResponse"/>
</sequence>
</complexType>
</element>
<complexType name="ArrayOf_impl_ErrorIdentifier">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:ErrorIdentifier"/>
</sequence>
</complexType>
<complexType name="ArrayOf_impl_CoverageTeamInfoTO">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:CoverageTeamInfoTO"/>
</sequence>
</complexType>
<complexType name="SortDetail">
<sequence>
<element name="sortColumn" nillable="true" type="xsd:string"/>
<element name="sortOrder" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="PagingRequestDetail">
<sequence>
<element name="endRow" type="xsd:int"/>
<element name="maxRow" type="xsd:int"/>
<element name="sortDetail" nillable="true" type="impl:ArrayOf_impl_SortDetail"/>
<element name="startRow" type="xsd:int"/>
</sequence>
</complexType>
<complexType name="RequestHeader">
<sequence>
<element name="applicationLineOfBusinessRoleIdentifier" nillable="true" type="xsd:string"/>
<element name="requestingAppID" nillable="true" type="xsd:string"/>
<element name="submitTime" nillable="true" type="xsd:string"/>
<element name="trackingID" nillable="true" type="xsd:string"/>
<element name="workerStandardIdentifier" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Request">
<sequence>
<element name="pagingRequestDetail" nillable="true" type="impl:PagingRequestDetail"/>
<element name="requestHeader" nillable="true" type="impl:RequestHeader"/>
<element name="scope" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="PagingResponseDetail">
<sequence>
<element name="rowReturned" type="xsd:int"/>
<element name="totalRowAvailable" type="xsd:int"/>
</sequence>
</complexType>
<complexType name="ErrorIdentifier">
<sequence>
<element name="key" nillable="true" type="xsd:string"/>
<element name="value" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ErrorDetail">
<sequence>
<element name="applicationErrorCode" nillable="true" type="xsd:string"/>
<element name="applicationErrorID" nillable="true" type="xsd:string"/>
<element name="applicationErrorMsg" nillable="true" type="xsd:string"/>
<element name="errorIdentifier" nillable="true" type="impl:ArrayOf_impl_ErrorIdentifier"/>
<element name="systemErrorCode" nillable="true" type="xsd:string"/>
<element name="systemErrorMsg" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ResponseHeader">
<sequence>
<element name="errorDetail" nillable="true" type="impl:ErrorDetail"/>
<element name="responseStatus" nillable="true" type="xsd:string"/>
<element name="submitTime" nillable="true" type="xsd:string"/>
<element name="successStatusCode" nillable="true" type="xsd:string"/>
<element name="trackingID" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Response">
<sequence>
<element name="pagingResponseDetail" nillable="true" type="impl:PagingResponseDetail"/>
<element name="responseHeader" nillable="true" type="impl:ResponseHeader"/>
</sequence>
</complexType>
<complexType name="GetCoverageTeamByEcidRequest">
<complexContent>
<extension base="impl:Request">
<sequence>
<element name="ecid" nillable="true" type="xsd:string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="CoverageTeamInfoTO">
<sequence>
<element name="cvrRoleTmrDs" nillable="true" type="xsd:string"/>
<element name="cvrTeamMembTmrCd" nillable="true" type="xsd:string"/>
<element name="employeeCityName" nillable="true" type="xsd:string"/>
<element name="employeeEmail" nillable="true" type="xsd:string"/>
<element name="employeeFirstName" nillable="true" type="xsd:string"/>
<element name="employeeLastName" nillable="true" type="xsd:string"/>
<element name="employeeMiddleName" nillable="true" type="xsd:string"/>
<element name="employeePhone" nillable="true" type="xsd:string"/>
<element name="employeeStandardId" nillable="true" type="xsd:string"/>
<element name="employeeStateCode" nillable="true" type="xsd:string"/>
<element name="employeeTitleName" nillable="true" type="xsd:string"/>
<element name="primaryFlag" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="GetCoverageTeamByEcidResponse">
<complexContent>
<extension base="impl:Response">
<sequence>
<element name="coverageTeamInfoTO" nillable="true" type="impl:ArrayOf_impl_CoverageTeamInfoTO"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="getCoverageTeamByEcidResponse">
<wsdl:part element="impl:getCoverageTeamByEcidResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getCoverageTeamByEcidRequest">
<wsdl:part element="impl:getCoverageTeamByEcid" name="parameters"/>
</wsdl:message>
<wsdl:portType name="GetCoverageTeamByEcid">
<wsdl:operation name="getCoverageTeamByEcid">
<wsdl:input message="impl:getCoverageTeamByEcidRequest" name="getCoverageTeamByEcidRequest"/>
<wsdl:output message="impl:getCoverageTeamByEcidResponse" name="getCoverageTeamByEcidResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GetCoverageTeamByEcidSoapBinding" type="impl:GetCoverageTeamByEcid">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getCoverageTeamByEcid">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getCoverageTeamByEcidRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCoverageTeamByEcidResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GetCoverageTeamByEcidService">
<wsdl:port binding="impl:GetCoverageTeamByEcidSoapBinding" name="GetCoverageTeamByEcid">
<wsdlsoap:address location="http://localhost:2000/PWServicesWEB/services/GetCoverageTeamByEcid"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Attachments
Attachments
Issue Links
- is related to
-
AXIS-1926 wrapped document/literal generates wrong SOAP message for arrays within arrays
- Open