You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Brian Gladish <br...@rainingdata.com> on 2005/02/16 01:52:05 UTC

Axis/.Net interop

In searching the archives I found the following e-mail, but there does
not seem to be a resolution.
 
http://marc.theaimsgroup.com/?l=axis-user
<http://marc.theaimsgroup.com/?l=axis-user&m=106917131020548&w=2>
&m=106917131020548&w=2
 
I am running into exactly the same situation.  After deployment Axis
presents a WSDL which has xsd:byte[][] for a Java byte[][].  I change
the WSDL to use the type soapenc:base64Binary[], change the deployment
descriptor to reference the custom WSDL file and redeploy.  At that
point a .NET client is able to pass the data into the method, but is
unable to get the return value, throwing an exception:
 
Top Exception:  System.InvalidOperationException
Inner Exception: Cannot assign object of type System.SByte[][] to an
object of type System.Byte[][]
 
The Java method is simply:
 
            public byte[][] echoStreams( byte[][] data ) { return data;
}
 
Any help would be greatly appreciated.
 
Brian J. Gladish
Senior Software Engineer
Raining Data Corporation (http://www.rainingdata.com)
(949) 260-5140
 

Re: Axis/.Net interop

Posted by Jerome Gagner <je...@nameintel.com>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brian Gladish wrote:
> In searching the archives I found the following e-mail, but there does
> not seem to be a resolution.
> 
>  
> 
> http://marc.theaimsgroup.com/?l=axis-user&m=106917131020548&w=2
> <http://marc.theaimsgroup.com/?l=axis-user&m=106917131020548&w=2>
> 
>  
> 
> I am running into exactly the same situation.  After deployment Axis
> presents a WSDL which has xsd:byte[][] for a Java byte[][].  I change
> the WSDL to use the type soapenc:base64Binary[], change the deployment
> descriptor to reference the custom WSDL file and redeploy.  At that
> point a .NET client is able to pass the data into the method, but is
> unable to get the return value, throwing an exception:
> 
>  
> 
> Top Exception:  System.InvalidOperationException
> 
> Inner Exception: Cannot assign object of type System.SByte[][] to an
> object of type System.Byte[][]
> 
>  
> 
> The Java method is simply:
> 
>  
> 
>             public byte[][] echoStreams( byte[][] data ) { return data; }
> 
>  
> 
> Any help would be greatly appreciated.
> 
>  
> 
> Brian J. Gladish
> 
> Senior Software Engineer
> 
> Raining Data Corporation (http://www.rainingdata.com)
> 
> (949) 260-5140
> 
>  
>

Use SByte, Java uses signed bytes, .NET's byte is unsigned.

- -Jerome






-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCEp6DoVKKkbjLuUcRAlunAJ9Lbfe2FoK9K9Iedx3WQHSTxa3i1gCfWnqJ
lvI2KFL/Etq4asIAdHM6lT0=
=ITSz
-----END PGP SIGNATURE-----