Well, I'm having a nice conversation with myself :)
I changed the parameter type of my vb variable in my vb app, from String to Variant and the call works. I get back an IXMLDOMSelection, just gotta work out what to do with that now. Chris. -----Original Message----- From: Chris Warr [mailto:[EMAIL PROTECTED]] Sent: Thursday, 23 May 2002 16:53 To: [EMAIL PROTECTED] Subject: RE: Returning a parameter, ie. an [out] parameter I tried with a java client and it works fine. I was using MSSoap 2 sp2, I've now upgraded to MSSoap 3.0 beta 1 as it says it has more support for complex types. I'll let you know how I go, if anyone has any more info., feel free to let me know how to do this. Chris. -----Original Message----- From: Schuring, Tom [mailto:[EMAIL PROTECTED]] Sent: Thursday, 23 May 2002 15:30 To: [EMAIL PROTECTED] Subject: RE: Returning a parameter, ie. an [out] parameter hi chris, i don't have a solution but you could try to create a java client with the axis classes and see if it works from java calling java ? that way you eliminate if it is a cross-system problem. tom -----Original Message----- From: Chris Warr [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 23, 2002 3:31 PM To: [EMAIL PROTECTED] Subject: RE: Returning a parameter, ie. an [out] parameter I've got a little further, I've found out about Holders now. So I changed the xmlESDO parameter to StringHolder and the wsdl that got generated had the StringHolder defined as a complex type and put the parameter in the response message definition. However, it doesn't work. I still get the same error in vb. I used tcpmon to see what conversations were going back and forth and the client only gets the wsdl definition. So is the mssoap com object doing something wrong with this type? I'm just passing in a vb String type when I make the call, should I be using a different type? Chris. -----Original Message----- From: Chris Warr [mailto:[EMAIL PROTECTED]] Sent: Thursday, 23 May 2002 12:00 To: [EMAIL PROTECTED] Subject: Returning a parameter, ie. an [out] parameter Hi, I need to change a parameters value and return it to the caller (xmlESDO below). My Method looks like this. public int ValidateTailorDetails(String esid, String ScreenID, String xmlESDO, int index) { xmlESDO = "blah"; return 0; } I'm just letting axis generate the WSDL. I tried taking the axis generated xml and adding an element to the response message, like below, and then using this wsdl file in my call. <wsdl:message name="ValidateTailorDetailsRequest"> <wsdl:part name="esid" type="xsd:string"/> <wsdl:part name="ScreenID" type="xsd:string"/> <wsdl:part name="xmlESDO" type="xsd:string"/> <wsdl:part name="index" type="xsd:int"/> </wsdl:message> <wsdl:message name="ValidateTailorDetailsResponse"> <wsdl:part name="xmlESDO" type="xsd:string"/> <------------- Added this bit <wsdl:part name="return" type="xsd:int"/> </wsdl:message> For mine this should work, but my VB test app. gets an error - 'Invalid procedure call or argument' Anyone got any ideas as to anything else I need to do? Chris.