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.

Reply via email to