axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daryl Robbins/MxI Technologies" <daryl.robb...@mxi.com>
Subject BUG?: Complex Type Values are not passed to my web services when upgrading to 1.2
Date Wed, 18 May 2005 14:41:20 GMT
Greetings,

I tried posting this under JIRA, but I was unable to do so due to an error
(java.util.NoSuchElementException).

When I migrated from Axis 1.2RC3 to 1.2 Final, complex values stopped being
passed into my web services. Complex values are now all null, while
primitive types are passed in as expected. I turned on debug logging but
didn't notice anything out of the ordinary. From the log, it appears that
the complex values were passed to Axis. I confirmed this issue under both
JBoss and WebLogic. From the release notes, it appears there were some
major changes to type mapping between these versions. Anyone have any
ideas? Thanks.

Here are relevant segments relating to one example message from our WSDL:

Note: When we changed to Axis 1.2 Final, most xsd types were changed by
Axis to their equivelant soapenc types.

  <schema targetNamespace="
http://details.flightfl.services.core.mx.mxi.com/" xmlns="
http://www.w3.org/2001/XMLSchema">
   <import namespace="http://key.core.mx.mxi.com"/>
   <import namespace="http://inventory.services.core.mx.mxi.com/"/>
   <import namespace="http://key.common.mx.mxi.com"/>
   <import namespace="http://flightfl.services.core.mx.mxi.com/"/>
   <import namespace="
http://faultdefn.diagnostics.services.core.mx.mxi.com/"/>
   <import namespace="http://failureeffect.event.services.core.mx.mxi.com/
"/>
   <import namespace="
http://exception.diagnostics.services.core.mx.mxi.com/"/>
   <import namespace="http://diagnostics.ejb.core.mx.mxi.com/"/>
   <import namespace="http://dataset.common.mx.mxi.com"/>
   <import namespace="http://trigger.common.mx.mxi.com/"/>
   <import namespace="http://key.core.mx.mxi.com/"/>
   <import namespace="http://exception.common.mx.mxi.com/"/>
   <import namespace="http://exception.core.mx.mxi.com/"/>
   <import namespace="http://faultdefn.diagnostics.services.core.mx.mxi.com
"/>
   <import namespace="http://diagnostics.services.core.mx.mxi.com/"/>
   <import namespace="http://exception.common.mx.mxi.com"/>
   <import namespace="http://fault.flightfl.services.core.mx.mxi.com/"/>
   <import namespace="http://creation.stask.services.core.mx.mxi.com/"/>
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="Aircraft">
    <sequence>
     <element name="empty" type="xsd:boolean"/>
     <element name="manufactName" nillable="true" type="soapenc:string"/>
     <element name="partNoOem" nillable="true" type="soapenc:string"/>
     <element name="serialNo" nillable="true" type="soapenc:string"/>
     <element name="tailNo" nillable="true" type="soapenc:string"/>
     <element name="type" nillable="true" type="soapenc:string"/>
    </sequence>
   </complexType>
   <complexType name="Inventory">
    <sequence>
     <element name="manufacturer" nillable="true" type="soapenc:string"/>
     <element name="partNo" nillable="true" type="soapenc:string"/>
     <element name="serialNo" nillable="true" type="soapenc:string"/>
    </sequence>
   </complexType>
  </schema>

<wsdl:portType name="DiagnosticsAdapterWS">
      <wsdl:operation name="addFault" parameterOrder="aExternalKey aFault
aAircraft aBomCd aUsageIdentifier aFlightIdentifier aCorrectiveTaskCode">
         <wsdl:input message="impl:addFaultRequest" name
="addFaultRequest"/>
         <wsdl:output message="impl:addFaultResponse" name
="addFaultResponse"/>
      </wsdl:operation>
</wsdl:portType>

   <wsdl:binding name="DiagnosticsAdapterWSSoapBinding" type
="impl:DiagnosticsAdapterWS">
      <wsdlsoap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="addFault">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="addFaultRequest">
            <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://diagnostics.ejb.core.mx.mxi.com/" use="encoded"/>
         </wsdl:input>
         <!-- ... -->
      </wsdl:operation>
   </wsdl:binding>

   <wsdl:message name="addFaultRequest">
      <wsdl:part name="aExternalKey" type="soapenc:string"/>
      <wsdl:part name="aFault" type="tns1:AdhocFault"/>
      <wsdl:part name="aAircraft" type="tns2:Aircraft"/>
      <wsdl:part name="aBomCd" type="soapenc:string"/>
      <wsdl:part name="aUsageIdentifier" type="tns1:UsageIdentifier"/>
      <wsdl:part name="aFlightIdentifier" type="tns1:FlightIdentifier"/>
      <wsdl:part name="aCorrectiveTaskCode" type="soapenc:string"/>
   </wsdl:message>


Here is an example input message:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:mrns0="http://diagnostics.ejb.core.mx.mxi.com/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="
http://details.flightfl.services.core.mx.mxi.com/" xmlns:tns2="
http://diagnostics.services.core.mx.mxi.com/" xmlns:xs="
http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
">
      <mrns0:addFault>
         <aExternalKey xsi:type="soapenc:string">dfgs</aExternalKey>
         <aFault xsi:type="tns2:AdhocFault">
            <faultGdt>dsfh</faultGdt>
            <faultHr href="" id="">sdfh</faultHr>
            <faultName href="" id="">shsfds</faultName>
            <faultSeverity href="" id="">sdhs</faultSeverity>
            <flightStage href="" id="">sdhsh</flightStage>
         </aFault>
         <aAircraft xsi:type="tns1:Aircraft">
            <empty xsi:type="xs:boolean">true</empty>
            <manufactName href="" id="">tykt</manufactName>
            <partNoOem href="" id="">dtydsty</partNoOem>
            <serialNo href="" id="">bcdde</serialNo>
            <tailNo href="" id="">wyh</tailNo>
            <type href="" id="">kyrd</type>
         </aAircraft>
         <aBomCd xsi:type="soapenc:string">gcgd</aBomCd>
         <aUsageIdentifier xsi:type="tns2:UsageIdentifier">
            <externalUsageKey href="" id="">fjfg</externalUsageKey>
         </aUsageIdentifier>
         <aFlightIdentifier xsi:type="tns2:FlightIdentifier">
            <externalFlightKey href="" id="">dhjdj</externalFlightKey>
         </aFlightIdentifier>
         <aCorrectiveTaskCode xsi:type
="soapenc:string">vmgj</aCorrectiveTaskCode>
      </mrns0:addFault>
   </soap:Body>
</soap:Envelope>


__________________________________________________________________________________
* This message is intended only for the use of the individual or entity to which it is addressed,
and may contain information that is privileged, confidential and exempt from disclosure under
applicable law. Unless you are the addressee (or authorized to receive for the addressee),
you may not use, copy or disclose the message or any information contained in the message.
If you have received this message in error, please advise the sender by reply e-mail , and
delete the message, or call (collect) 001 613 747 4698. *


Mime
View raw message