Hello Heitzso,

Thanks for the info.  I tried out but I get the following exception :

        at org.apache.axis.message.SOAPFaultBuilder.endElement(Unknown
Source)
        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Unknown
Source)
        at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
        at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator
.java:1180)
        at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1256)
        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
        at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:347)
        at org.apache.axis.encoding.DeserializationContextImpl.parse(Unknown
Source)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(Unknown Source)
        at org.apache.axis.client.Call.invoke(Unknown Source)
        at org.apache.axis.client.Call.invoke(Unknown Source)
        at org.apache.axis.client.Call.invoke(Unknown Source)
        at org.apache.axis.client.Call.invoke(Unknown Source)
        at MDSQuery.mdsConnect(MDSQuery.java:485)
        at MDSQuery.submitButtonActionPerformed(MDSQuery.java:281)
        at MDSQuery.access$500(MDSQuery.java:23)
        at MDSQuery$6.actionPerformed(MDSQuery.java:214)
        at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1770)
        at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto
n.java:1823)
        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4
22)
        at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:260)
        at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener
.java:261)
        at java.awt.Component.processMouseEvent(Component.java:5020)
        at java.awt.Component.processEvent(Component.java:4819)
        at java.awt.Container.processEvent(Container.java:1383)
        at java.awt.Component.dispatchEventImpl(Component.java:3527)
        at java.awt.Container.dispatchEventImpl(Container.java:1440)
        at java.awt.Component.dispatchEvent(Component.java:3368)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3219)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:2930)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2866)
        at java.awt.Container.dispatchEventImpl(Container.java:1426)
        at java.awt.Window.dispatchEventImpl(Window.java:1568)
        at java.awt.Component.dispatchEvent(Component.java:3368)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:193)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:147)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:141)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:133)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:101)

This is extract of my source code. It fails on line marked with ***.  I
don't what I am doing wrong. Please help !

private void mdsConnect() {
       
        // Connect to MDS web service
        String endpoint = "http://localhost:8080/axis/MDSService.jws";;
        //String endpoint = "http://193.62.112.87:9000/axis/MDSService.jws";;
       
        Service service = new Service();
        try {
            Call call = (Call)service.createCall();
       
            call.setTargetEndpointAddress( new java.net.URL(endpoint) );
            call.setOperationName( "mdsSearch" );
           
            call.addParameter( "host", XMLType.XSD_STRING,
ParameterMode.PARAM_MODE_IN );
            call.addParameter( "objectclass", XMLType.XSD_STRING,
ParameterMode.PARAM_MODE_IN );
            call.addParameter( "voname", XMLType.XSD_STRING,
ParameterMode.PARAM_MODE_IN );
            call.addParameter( "attributeindex", XMLType.XSD_INT,
ParameterMode.PARAM_MODE_IN );
            call.addParameter( "attributes", XMLType.SOAP_ARRAY,
ParameterMode.PARAM_MODE_IN );
            call.setReturnType( XMLType.XSD_STRING );
       
            Integer attribCount = new Integer(selectedAttributes);
            *** String result = (String)call.invoke( new Object [] {
mdsHost, mdsObject,
                                                                 mdsVoName,
attribCount,
                                                                 mdsTypes
});
            mdsTextArea.append(result);           
        }
        catch(Throwable e) {
            System.out.println("Failed to call MDS web service :"+"\n"
                               +e.getMessage());
            e.printStackTrace();
        }   
    }

-----Original Message-----
From: Heitzso [mailto:[EMAIL PROTECTED]]
Sent: 31 May 2002 16:04
To: [EMAIL PROTECTED]
Subject: Re: String[]


to get String[] back as what method returns:

 String[] datasourceNames;
 datasourceNames = (String[]) call.invoke( new Object[] { } );

to pass array in:

 String[] columnName = ...
 call.addParameter("columnName",
                        org.apache.axis.Constants.SOAP_ARRAY,
                        javax.xml.rpc.ParameterMode.IN);
and
 blat (Blat) = call.invoke(new Object[] { columnName } );


On Fri, 2002-05-31 at 05:40, Chohan, DB (Dharmesh) wrote:
>
> Hi,
>
> Does anybody know how to pass a string[] in a RPC call, eg
> call.addParameter( "attributes", XMLType.???, ParameterMode.PARAM_MODE_IN
);
>
> Thanks
> Dharmesh

Reply via email to