axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chris" <chris.had...@cobia.net>
Subject RE: Axis/.Net interop
Date Tue, 18 Nov 2003 02:18:09 GMT
Mikhail -    I'd definitely expect a Java byte to be converted into an
xsd:byte that would then be converted into a .NET System.SByte.

A byte is defined in XML schema as:
" 3.3.19 byte [Definition:]   byte is .derived. from short by setting
the value of .maxInclusive. to be 127 and .minInclusive. to be -128. The
.base type. of byte is short. 

http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#byte
"

A SByte is defined in .NET as:
" sbyte -128 to 127 Signed 8-bit integer System

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/h
tml/vclrfsbyte.asp
"

Therefore, it seems that the conversion of an xsd:byte[][] defined in a
WSDL document into a System.SByte[][] is correct.  


Or maybe I'm missing something about the Java->WSDL->.NET conversion
that you are attempting.....  If you post the bean, wsdl, and C# code,
it may help debug the issue.

/Chris

-----Original Message-----
From: Mikhail Melamud [mailto:mikmela@yahoo.com] 
Sent: Monday, November 17, 2003 2:32 PM
To: axis-user@ws.apache.org
Subject: Axis/.Net interop

For the the Java bean having property defined as: 
 private byte[][] multipleByteArrayValues;
Axis 1.1 Java2WSDL generates descriptor as follows:
 <complexType name="ArrayOf_xsd_base64Binary"> 
 <complexContent> 
 <restriction base="soapenc:Array"> 
	<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:byte[][]" /> 
</restriction> 
</complexContent> 
</complexType>
As I understand this is OK as far as WSDL 1.1 and SOAP
1.1 concerned for rpc/soap encoded web service

MS .Net Visual Studio stub generator responds with
System.SByte[] to such type definition in wsdl,
where the SByte value type represents integers with
values ranging from negative 128 to positive 127,
which is not exactly what I'd expect.
Changing the wsdl to 
 <complexType name="ArrayOf_xsd_base64Binary"> 
 <complexContent> 
 <restriction base="soapenc:Array"> 
	<attribute ref="soapenc:arrayType"
wsdl:arrayType="s:base64Binary[]" /> 
</restriction> 
</complexContent> 
</complexType>
where xmlns:s="http://www.w3.org/2001/XMLSchema" 
produces expected definition in c# stub:
System.Byte[][]
Has anyone seen this behavior and is there a way to
affect Axis's java2Wsdl to generate base64Binary[]as
an arraytype or .Net to understand byte[][] and
generate proper stub.
Thanks
Mike


__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


Mime
View raw message