To the best of my knowledge, arrays of complex types can be passed between J2EE 
and .NET implementations of SOAP as long as the complex type consists 
completely of simple primitives (i.e. xsd primitives). I have that woring in 
production now.

J2EE implementations can pass arrays of complex types consisting of complex 
types between each other, but .NET chokes on them. There's a tech note at 
Microsoft to this effect, but I don't have the reference handy. I believe the 
problem is related to SOAP encodings .NET cannot correctly interpret. -- Andy

>>> [EMAIL PROTECTED] 12/15/04 03:22PM >>>
hi,
 
I have a c# client running against an RPC axis service.  I can send and return 
String, String[], Complex object, Complex object array.  
 
But, I fail when I put a complex object array inside another container.  Did 
anybody else have the sam problem?
 
 
This works fine for a java client.
 
How do I get around this?
 
regards
 
sagar
 
PS:
 
The offending class
 
 
package chordiant.net.biz.ts.wbxml.wbstatus.v1x1;
public class _WBStatusList  implements java.io.Serializable {
    private chordiant.net.biz.ts.wbxml.wbstatus.v1x1._WBStatus[] WBStatus;
    public _WBStatusList() {
    }
    public chordiant.net.biz.ts.wbxml.wbstatus.v1x1._WBStatus[] getWBStatus() {
        return WBStatus;
    }
    public void 
setWBStatus(chordiant.net.biz.ts.wbxml.wbstatus.v1x1._WBStatus[] WBStatus) {
        this.WBStatus = WBStatus;
    }
    public chordiant.net.biz.ts.wbxml.wbstatus.v1x1._WBStatus getWBStatus(int 
i) {
        return WBStatus[i];
    }
    public void setWBStatus(int i, 
chordiant.net.biz.ts.wbxml.wbstatus.v1x1._WBStatus value) {
        this.WBStatus[i] = value;
    }
 
}
 
 
 
 
E:\MicrosoftDOTNETClient>Tester
entered the program
Instantiated wrapper services
callSearchByAccountDOC
_________________________________Returning a String  
____________________________________
Returned a String Test String
_________________________________Completed Returning a String  
__________________________
_________________________________Returning a String Array 
_______________________________
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
Returned String Test String
_________________________________Completed Returning a String Array 
_______________________________
_________________________________ Returning a Complex Object ___________________
ACTOR 1000
Reason 1000
_________________________________Completed Returning a Complex Object 
___________________
_________________________________Returning a Complex Object Array 
_______________________
ACTOR 10000
Reason 10000
ACTOR 10001
Reason 10001
ACTOR 10002
Reason 10002
ACTOR 10003
Reason 10003
ACTOR 10004
Reason 10004
_________________________________Completed Returning a Complex Object Array 
______________
_________________________________Returning a Complex Object Array wrapped in a 
List Object
Unhandled Exception: System.InvalidOperationException: There is an error in XML 
document (54, 4). ---> System.InvalidCastException: Cannot assign object of 
type _WBStatus to an object of type _WBStatus[].
   at 
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.fixup_Read1__WBStatusList(Object
 objFixup)
   at System.Xml.Serialization.XmlSerializationReader.DoFixups()
   at System.Xml.Serialization.XmlSerializationReader.ReadReferencedElements()
   at 
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read34_wbListReturnResponse()
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, 
String encodingStyle)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
   at 
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
 message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String 
methodName, Object[] parameters)
   at CustomerSearchPort_V10WrapperService.wbListReturn()
   at SvcEater.Main(String[] args)
E:\MicrosoftDOTNETClient>

Reply via email to