Re: problem with String [] in axis 1.3 and .net client
This is the C# request which is not working, ?xml version=1.0 encoding=utf-8? soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:tns= http://external.soap.service.cps.moota.com; xmlns:types= http://external.soap.service.cps.moota.com/encodedTypes; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd= http://www.w3.org/2001/XMLSchema; soap:Body soap:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; tns:sendSmsMessagein0 href=#id1 / /tns:sendSmsMessage q1:SmsRequestDto id=id1 xsi:type=q1:SmsRequestDto xmlns:q1= http://dto.service.cps.moota.com; projectId xsi:nil=true /user xsi:nil=true / message xsi:nil=true / msisdn href=#id2 / applicationId xsi:nil=true / accountExternalId xsi:nil=true / accountId xsi:nil=true / originatingAddress xsi:nil=true / originatingAddressType xsi:nil=true / /q1:SmsRequestDto soapenc:Array id=id2 soapenc:arrayType=xsd:string[1] Item123456/Item /soapenc:Array /soap:Body /soap:Envelope but for following Axis 1.3 client request it works fine ?xml version=1.0 encoding=UTF-8?soapenv:Envelope xmlns:soapenv= http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd= http://www.w3.org/2001/XMLSchema; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance;soapenv:Body ns1:sendSmsMessage soapenv:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1= http://soap.service.cps.moota.com; in0 href=#id0/ /ns1:sendSmsMessage multiRef id=id0 soapenc:root=0 soapenv:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/; xsi:type=ns2:SmsRequestDto xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2= http://dto.service.cps.moota.com; projectId href=#id1/ user xsi:type=xsd:string xsi:nil=true/ message xsi:type=xsd:string xsi:nil=true/ msisdn soapenc:arrayType=xsd:string[1] xsi:type=soapenc:Array ns3:item xsi:type=xsd:string xmlns:ns3= http://webservice.clientprovisioning.moota.com;123456789/ns3:item /msisdn applicationId xsi:type=xsd:int xsi:nil=true/ accountExternalId xsi:type=xsd:int xsi:nil=true/ accountId xsi:type=xsd:int xsi:nil=true/ originatingAddress xsi:type=xsd:string xsi:nil=true/ originatingAddressType xsi:type=xsd:int xsi:nil=true/ /multiRef multiRef id=id1 soapenc:root=0 soapenv:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/; xsi:type=xsd:long xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; 10/multiRef /soapenv:Body/soapenv:Envelope ?xml version=1.0 encoding=utf-8? soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:tns= http://external.soap.service.cps.moota.com; xmlns:types= http://external.soap.service.cps.moota.com/encodedTypes; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd= http://www.w3.org/2001/XMLSchema;soap:Body soap:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/; tns:sendSmsMessagein0 href=#id1 //tns:sendSmsMessageq1:SmsRequestDto id=id1 xsi:type=q1:SmsRequestDto xmlns:q1=http://dto.service.cps.moota.com;projectId xsi:nil=true /user xsi:nil=true /message xsi:nil=true /msisdn href=#id2 /applicationId xsi:nil=true /accountExternalId xsi:nil=true /accountId xsi:nil=true /originatingAddress xsi:nil=true /originatingAddressType xsi:nil=true //q1:SmsRequestDtosoapenc:Array id=id2 soapenc:arrayType=xsd:string[1]Item123456/Item/soapenc:Array/soap:Body/soap:Envelope ?xml version=1.0 encoding=utf-8? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; soapenv:Body soapenv:Faultfaultcodesoapenv:Server.userException/faultcode faultstringjava.lang.IllegalArgumentException: array element type mismatch/faultstringdetail ns1:hostname xmlns:ns1=http://xml.apache.org/axis/ jayalal-PC/ns1:hostname/detail/soapenv:Fault /soapenv:Body/soapenv:Envelope 2008/10/13 Deepal Jayasinghe [EMAIL PROTECTED] Did you check whether it sends the correct request , I mean is it valid according to the WSDL ? You can see the message if you send that via TCP Monitor. -Deepal jayalal jayarathna wrote: Hi, I have a web service developed on Axis 1.3, and it has following method. SendTaskResponseDto sendSmsMessage(SmsRequestDto in0) SmsRequestDto has an string array public class SmsRequestDto implements java.io.Serializable { private java.lang.Long projectId; private java.lang.String user; private java.lang.String message; private java.lang.String[] msisdn; private java.lang.Integer applicationId; . when I try to call SendTaskResponseDto sendSmsMessage(SmsRequestDto in0) through C#.net client it gives following exception at server 13 Oct 2008 11:03:00,015 ERROR BeanPropertyTarget - Could not convert [Ljava.lang.String; to bean
problem with String [] in axis 1.3 and .net client
Hi, I have a web service developed on Axis 1.3, and it has following method. SendTaskResponseDto sendSmsMessage(SmsRequestDto in0) SmsRequestDto has an string array public class SmsRequestDto implements java.io.Serializable { private java.lang.Long projectId; private java.lang.String user; private java.lang.String message; private java.lang.String[] msisdn; private java.lang.Integer applicationId; . when I try to call SendTaskResponseDto sendSmsMessage(SmsRequestDto in0) through C#.net client it gives following exception at server 13 Oct 2008 11:03:00,015 ERROR BeanPropertyTarget - Could not convert [Ljava.lang.String; to bean field 'msisdn[0]', type java.lang.String 13 Oct 2008 11:03:00,028 INFO EXCEPTIONS - AxisFault: AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.IllegalArgumentException: array element type mismatch faultActor: faultNode: faultDetail: { http://xml.apache.org/axis/}stackTrace:java.lang.IllegalArgumentException: array element type mismatch at java.lang.reflect.Array.set(Native Method) at org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:195) WSDL as follows import namespace=http://schemas.xmlsoap.org/soap/encoding// − complexType name=ArrayOf_soapenc_string − complexContent − restriction base=soapenc:Array attribute ref=soapenc:arrayType wsdl:arrayType=xsd:string[]/ /restriction /complexContent /complexType complexType name=SmsRequestDto sequence element name=projectId nillable=true type=xsd:long/ element name=user nillable=true type=xsd:string/ element name=message nillable=true type=xsd:string/ element name=msisdn nillable=true type=impl:ArrayOf_soapenc_string/ element name=applicationId nillable=true type=xsd:int/ element name=accountExternalId nillable=true type=xsd:int/ element name=accountId nillable=true type=xsd:int/ element name=originatingAddress nillable=true type=xsd:string/ element name=originatingAddressType nillable=true type=xsd:int/ /sequence /complexType c# code static void Main(string[] args) { lh.CPSWebServiceService service = new ConsoleApplication1.lh.CPSWebServiceService(); lh.SmsRequestDto request = new ConsoleApplication1.lh.SmsRequestDto(); string[] msisdn = new string[1]; msisdn[0] = 123456; // msisdn[1] = 456; request.msisdn = msisdn; service.sendSmsMessage(request); } Please help me. Thank you, Jayalal