473,473 Members | 1,825 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Serialization problem, VB.Net Client consuming Java Axis Web Service

I get the following exception when my VB.NET app calls a Java web service that returns an array of objects. The same call works for a single object though. So looks like there is no problem serializing the object but there seems to be a problem serializing an array of objects. Any help will be appreciated

"Cannot assign object of type System.Object[] to an object of type ElectronicWallet.C2PTest.PaymentItem."

[System.InvalidOperationException]: {System.InvalidOperationException
HelpLink: Nothin
InnerException: {System.InvalidCastException
Message: "There is an error in XML document (12, 19).
Source: "System.Xml

StackTrace: " at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, String encodingStyle
at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String methodName, Object[] parameters
at ElectronicWallet.C2PTest.SOAPPaymentServiceService .method1(String par1, String par2, String par3, Int64 par4, String par5, String par6, Boolean par7, String par8, String par9, String par10, String par11) in C:\Projects\Gateway\ElectronicWallet\ElectronicWal letWebService\Web References\C2PTest\Reference.vb:line 4
at ElectronicWallet.PayoutCommon.DoPayout(Int64 lngTransID, XmlDocument& oWSReq, XmlDocument& oWSResp) in C:\Projects\Gateway\ElectronicWallet\ElectronicWal letWebService\PayoutCommon.vb:line 22
at ElectronicWallet.Process.EWPayout(String s_Payout) in C:\Projects\Gateway\ElectronicWallet\ElectronicWal letWebService\Process.asmx.vb:line 153
TargetSite: {System.Reflection.RuntimeMethodInfo
?ex.InnerException
{System.InvalidCastException
[System.InvalidCastException]: {System.InvalidCastException
HelpLink: Nothin
InnerException: Nothin
Message: "Cannot assign object of type System.Object[] to an object of type ElectronicWallet.C2PTest.PaymentItem[].
Source: "fqsomxwu
StackTrace: " at Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationReader1.Read3_ResponsePar6l(
at System.Xml.Serialization.XmlSerializationReader.Re adReferencingElement(String name, String ns, Boolean elementCanBeType, String& fixupReference
at System.Xml.Serialization.XmlSerializationReader.Re adReferencedElements(
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationReader1.Read6_method1Response()
TargetSite: {System.Reflection.RuntimeMethodInfo

Related code from .NET proxy class............................

'<remarks/
<System.Web.Services.Protocols.SoapRpcMethodAttrib ute("", RequestNamespace:="http://somewebsite", ResponseNamespace:="https://somewebsite/method1")>
Public Function method1(ByVal par1 As String, ByVal par2 As String, ByVal par3 As String, ByVal par4 As Long, ByVal par5 As String, ByVal par6 As String, ByVal par7 As Boolean, ByVal par8 As String, ByVal par9 As String, ByVal par10 As String, ByVal par11 As String) As <System.Xml.Serialization.SoapElementAttribute("me thod1Return")> ResponseMode
Dim results() As Object = Me.Invoke("method1", New Object() {par1, par2, par3,_u97 ?mount, par5, par6, par7, par8, par9, par10, par11}

Return CType(results(0),ResponseModel
End Functio

'<remarks/
<System.Xml.Serialization.SoapTypeAttribute("Respo nseModel", "http://somewebsite")>
Public Class ResponseMode

'<remarks/
Public ret1 As Strin

'<remarks/
Public ret2 As Strin

'<remarks/
Public ret 3 As Strin

'<remarks/
Public paymentItems() As PaymentIte
End Clas

'<remarks/
<System.Xml.Serialization.SoapTypeAttribute("Payme ntItem", "http://somewebsite")>
Public Class PaymentIte

'<remarks/
Public ret4 As Strin

'<remarks/
Public ret5 As Strin

'<remarks/>
Public ret6 As String
End Class
Here is the VB.NET code.............................

Dim SoapRequest As New C2PTest.SOAPPaymentServiceService
Dim C2PResult As New C2PTest.ResponseModel
Dim Dict As New Collections.Specialized.StringDictionary
C2PResult = SoapRequest.method1(Dict("par1"), Dict("par2"), Dict("par3"), Dict("par4"), _
Dict("par5"), Dict("Par6"), Dict("par7"), Dict("par8"), Dict("par9"), _
Dict("par10"), Dict("par11"))
Here is the WSDL file.............................

<wsdl:definitions targetNamespace="https://somewebsite/method1" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="https://somewebsite/method1" xmlns:intf="https://somewebsite/method1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://somewebsite" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema targetNamespace="http://somewebsite" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="PaymentItem">
<sequence>
<element name="ret4" nillable="true" type="xsd:string"/>
<element name="ret5" nillable="true" type="xsd:string"/>
<element name="ret6" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ResponseModel">
<sequence>
<element name="ret1" nillable="true" type="xsd:string"/>
<element name="ret2" nillable="true" type="xsd:string"/>
<element name="ret3" nillable="true" type="xsd:string"/>
<element name="paymentItems" nillable="true" type="impl:ArrayOf_tns1_PaymentItem"/>
</sequence>
</complexType>
</schema>
<schema targetNamespace="https://somewebsite/method1" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_tns1_PaymentItem">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:PaymentItem[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="method1Request">
<wsdl:part name="par1" type="xsd:string"/>
<wsdl:part name="par2" type="xsd:string"/>
<wsdl:part name="par3" type="xsd:string"/>
<wsdl:part name="par4" type="xsd:long"/>
<wsdl:part name="par5" type="xsd:string"/>
<wsdl:part name="par6" type="xsd:string"/>
<wsdl:part name="par7" type="xsd:boolean"/>
<wsdl:part name="par8" type="xsd:string"/>
<wsdl:part name="par9" type="xsd:string"/>
<wsdl:part name="par10" type="xsd:string"/>
<wsdl:part name="par11" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="method1Response">
<wsdl:part name="method1Return" type="tns1:ResponseModel"/>
</wsdl:message>
<wsdl:portType name="SOAPPaymentService">
<wsdl:operation name="method1" parameterOrder="par1 par2 par3 par4 par5 par6 par7 par8 par9 par10 par11">
<wsdl:input message="impl:method1Request" name="method1Request"/>
<wsdl:output message="impl:method1Response" name="method1Response"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="method1SoapBinding" type="impl:SOAPPaymentService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="method1">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="method1Request">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://somewebsite" use="encoded"/>
</wsdl:input>
<wsdl:output name="method1Response">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="https://somewebsite/method1" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SOAPPaymentServiceService">
<wsdl:port binding="impl:method1SoapBinding" name="method1">
<wsdlsoap:address location="https://somewebsite/method1"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>


---
Posted using Wimdows.net Newsgroups - http://www.wimdows.net/newsgroups/
Nov 18 '05 #1
0 2472

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: psy000 | last post by:
Hi, I have a C# web service client that talks to a JAVA application sever. I use AXIS to generate the WSDL file, use wsdl.exe to generate proxy stub c# code. When I try to use c# client connect...
0
by: umhlali | last post by:
I get the following exception when my VB.NET app calls a Java web service that returns an array of objects. The same call works for a single object though. So looks like there is no problem...
4
by: JLJ | last post by:
I have a very simple webservice written in Java/Axis. It takes in a complexType with 2 string elements, userid and password. The response is a complexType containing two complexTypes each having...
1
by: Parag Mahajan | last post by:
Hi, I am developing a .Net client for Axis 1.1 web service written in java. The wsdl is generated using, java2WSDL with these switches:: -y WRAPPED -u LITERAL The login service which returns a...
1
by: Samudrala | last post by:
Hi, I have developed a web service developed in C#. the WSDL I gave is working fine with .net client. But when java client consumes it always raising exception. I have basic knowledge of java too...
0
by: perschrotti | last post by:
I have simple .NET webservice coded in C# running on IIS 5 windows 2000 sp4 with .NET framework 1.1. I have a client coded in java with a webservice client stub generated by wsdl2java (axis). ...
0
by: cjharrelson | last post by:
I am trying to consume a .NET web service using UsernameToken plain text password authentication. Here is my .wsdd configuration file: <!-- Using the WSDoAllSender security handler in request...
2
by: Philip Reimer | last post by:
Hello. We have here a Java web service that has been created using Apache Axis 1.4, using the document/literal wrapped style, and returns complex types in its methods. When consuming the web...
0
by: Siyodia | last post by:
This is a java program which i need to run facing compilation error Its consuming a third party web service method I have the supported files(folder) which contain necessary class files...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.